Sciweavers

PPOPP
2005
ACM

Static analysis of atomicity for programs with non-blocking synchronization

14 years 5 months ago
Static analysis of atomicity for programs with non-blocking synchronization
In concurrent programming, non-blocking synchronization is very efficient but difficult to design correctly. This paper presents a static analysis to show that code blocks are atomic, i.e., that every execution of the program is equivalent to one in which those code blocks execute without interruption by other threads. Our analysis determines commutativity of operations based primarily on how synchronization primitives (including locks, load-linked, store-conditional, and compare-and-swap) are used. A reduction theorem states that certain patterns of commutativity imply atomicity. Atomicity is itself an important correctness requirement for many concurrent programs. Furthermore, an atomic code block can be treated as a single transition during subsequent analysis of the program; this can greatly improve the efficiency of the subsequent analysis. We demonstrate the effectiveness of our approach on several concurrent non-blocking programs. Categories and Subject Descriptors D.2.4 [Soft...
Liqiang Wang, Scott D. Stoller
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where PPOPP
Authors Liqiang Wang, Scott D. Stoller
Comments (0)