Testing atomicity of composed concurrent operations

Ohad Shacham, Nathan Bronson, Alex Aiken, Mooly Sagiv, Martin Vechev, Eran Yahav

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

Abstract

We address the problem of testing atomicity of composed concurrent operations. Concurrent libraries help programmers exploit parallel hardware by providing scalable concurrent operations with the illusion that each operation is executed atomically. However, client code often needs to compose atomic operations in such a way that the resulting composite operation is also atomic while preserving scalability. We present a novel technique for testing the atomicity of client code composing scalable concurrent operations. The challenge in testing this kind of client code is that a bug may occur very rarely and only on a particular interleaving with a specific thread configuration. Our technique is based on modular testing of client code in the presence of an adversarial environment; we use commutativity specifications to drastically reduce the number of executions explored to detect a bug. We implemented our approach in a tool called COLT, and evaluated its effectiveness on a range of 51 realworld concurrent Java programs. Using COLT, we found 56 atomicity violations in Apache Tomcat, Cassandra, MyFaces Trinidad, and other applications. Copyright is held by the author / owner(s).

Original languageEnglish
Title of host publicationOOPSLA'11 - Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications
Pages51-64
Number of pages14
DOIs
StatePublished - 2011
Event2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11 - Portland, OR, United States
Duration: 22 Oct 201127 Oct 2011

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Conference

Conference2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11
Country/TerritoryUnited States
CityPortland, OR
Period22/10/1127/10/11

Keywords

  • Collections
  • Composed operations
  • Concurrency
  • Linearizability
  • Testing

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Testing atomicity of composed concurrent operations'. Together they form a unique fingerprint.

Cite this