Skip to main navigation Skip to search Skip to main content

Static analysis of atomicity for programs with non-blocking synchronization

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

54 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationProceedings of the 2005 ACM SIGPLAN Symposium on Principles and Practise of Parallel Programming, PROPP 05
PublisherAssociation for Computing Machinery (ACM)
Pages61-71
Number of pages11
ISBN (Electronic)1595930809, 9781595930804
DOIs
StatePublished - Jun 15 2005
Event10th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2005 - Chicago, IL, United States
Duration: Jun 15 2005Jun 17 2005

Publication series

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

Conference

Conference10th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2005
Country/TerritoryUnited States
CityChicago, IL
Period06/15/0506/17/05

Keywords

  • Atomicity
  • Linearizability
  • Lock-Free
  • Non-Blocking
  • Static Analysis
  • Synchronization
  • Verification

Fingerprint

Dive into the research topics of 'Static analysis of atomicity for programs with non-blocking synchronization'. Together they form a unique fingerprint.

Cite this