Skip to main navigation Skip to search Skip to main content

Accurate and efficient runtime detection of atomicity errors in concurrent programs

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

91 Scopus citations

Abstract

Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the property that every concurrent execution of a set of transactions is equivalent to some serial execution of the same transactions. In multi-threaded programs, executions of procedures (or methods) can be regarded as transactions. Correctness in the presence of concurrency often requires atomicity of these transactions. Tools that automatically detect atomicity violations can uncover subtle errors that are hard to find with traditional debugging and testing techniques. This paper presents new algorithms for runtime (dynamic) detection of violations of conflict-atomicity and view-atomicity, which are analogous to conflict-serializability and view-serializability in database systems. In these algorithms, the recorded events are formed into a graph with edges representing the synchronization within each transaction and possible interactions between transactions. We give conditions on the graph that imply conflict-atomicity and view-atomicity. Experiments show that these new algorithms are more efficient in most experiments and are more accurate than previous algorithms with comparable asymptotic complexity.

Original languageEnglish
Title of host publicationProceedings of the 2006 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP'06
PublisherAssociation for Computing Machinery
Pages137-146
Number of pages10
ISBN (Print)1595931899, 9781595931894
DOIs
StatePublished - Mar 29 2006
Event11th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2006 - New York, NY, United States
Duration: Mar 29 2006Mar 31 2006

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2006

Conference

Conference11th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2006
Country/TerritoryUnited States
CityNew York, NY
Period03/29/0603/31/06

Keywords

  • Atomicity
  • Concurrent programming
  • Data race
  • Java
  • Serializability

Fingerprint

Dive into the research topics of 'Accurate and efficient runtime detection of atomicity errors in concurrent programs'. Together they form a unique fingerprint.

Cite this