A decision procedure for detecting atomicity violations for communicating processes with locks

  • Nicholas Kidd
  • Peter Lammich
  • Tayssir Touili
  • Thomas Reps
SPIN 2009

DOI: 10.1007/s10009-010-0159-5

Cite this article as:
Kidd, N., Lammich, P., Touili, T. et al. Int J Softw Tools Technol Transfer (2011) 13: 37. doi:10.1007/s10009-010-0159-5


The problem of interest is to verify data consistency of a concurrent Java program. In particular, we present a new decision procedure for verifying that a class of data races caused by inconsistent accesses on multiple fields of an object cannot occur (so-called atomic-set serializability). Atomic-set serializability generalizes the ordinary notion of a data race (i.e., inconsistent coordination of accesses on a single memory location) to a broader class of races that involve accesses on multiple memory locations. Previous work by some of the authors presented a technique to abstract a concurrent Java program into an EML program, a modeling language based on pushdown systems and a finite set of reentrant locks. Our previous work used only a semi-decision procedure, and hence provides a definite answer only some of the time. In this paper, we rectify this shortcoming by developing a decision procedure for verifying data consistency, i.e., atomic-set serializability, of an EML program. When coupled with the previous work, it provides a decision procedure for verifying data consistency of a concurrent Java program. We implemented the decision procedure, and applied it to detect both single-location and multi-location data races in models of concurrent Java programs. Compared with the prior method based on a semi-decision procedure, not only was the decision procedure 34 times faster overall, but the semi-decision procedure timed out on about 50% of the queries, whereas the decision procedure timed out on none of the queries.


Pushdown model checking Atomic sets Serializability Decision procedure Atomicity 

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Nicholas Kidd
    • 1
  • Peter Lammich
    • 2
  • Tayssir Touili
    • 3
  • Thomas Reps
    • 4
    • 5
  1. 1.Purdue UniversityWest LafayetteUSA
  2. 2.Westfälische Wilhelms-Universität MünsterMünsterGermany
  3. 3.LIAFACNRS, Université Paris DiderotParisFrance
  4. 4.University of WisconsinMadisonUSA
  5. 5.Gramma Tech, Inc.IthacaUSA