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). © 2012 Springer-Verlag.
CITATION STYLE
Schwartz-Narbonne, D., Liu, F., August, D., & Malik, S. (2012). PASSERT: A tool for debugging parallel programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7358 LNCS, pp. 751–757). https://doi.org/10.1007/978-3-642-31424-7_60
Mendeley helps you to discover research relevant for your work.