PASSERT: A tool for debugging parallel programs

Daniel Schwartz-Narbonne, Feng Liu, David I. August, Sharad Malik

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations


PASSERT is a new debugging tool for parallel programs which allows programmers to express correctness criteria using a simple, expressive assertion language. We demonstrate how these parallel assertions allow the detection and diagnosis of real world concurrency bugs, detecting 14/17 bugs in an independently selected set of bugs from open source software. We describe a runtime checker which allows automatic checking of parallel assertions in C and C++ programs, with a geometric mean of 6.6× overhead on a set of PARSEC benchmarks. We improve performance by introducing a relaxed timing semantics for parallel assertions, which better reflects real memory models, and exposes more bugs with less overhead (geometric mean overhead 3.5x).

Original languageEnglish (US)
Title of host publicationComputer Aided Verification - 24th International Conference, CAV 2012, Proceedings
Number of pages7
StatePublished - 2012
Event24th International Conference on Computer Aided Verification, CAV 2012 - Berkeley, CA, United States
Duration: Jul 7 2012Jul 13 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7358 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other24th International Conference on Computer Aided Verification, CAV 2012
Country/TerritoryUnited States
CityBerkeley, CA

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'PASSERT: A tool for debugging parallel programs'. Together they form a unique fingerprint.

Cite this