Verifying atomicity via data independence

Ohad Shacham, Eran Yahav, Guy Golan-Gueta, Alex Aiken, Nathan Bronson, Mooly Sagiv, Martin Vechev

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

Abstract

We present a technique for automatically verifying atomicity of composed concurrent operations. The main observation behind our approach is that many composed concurrent operations which occur in practice are data-independent. That is, the control-flow of the composed operation does not depend on specific input values. While verifying data-independence is undecidable in the general case, we provide succint sufficient conditions that can be used to establish a composed operation as data-independent. We show that for the common case of concurrent maps, data-independence reduces the hard problem of verifying linearizability to a verification problem that can be solved efficiently with a bounded number of keys and values. We implemented our approach in a tool called VINE and evaluated it on all composed operations from 57 real-world applications (112 composed operations). We show that many composed operations (49 out of 112) are data-independent, and automatically verify 30 of them as linearizable and the rest 19 as having violations of linearizability that could be repaired and then subsequently automatically verified. Moreover, we show that the remaining 63 operations are not linearizable, thus indicating that data independence does not limit the expressiveness of writing realistic linearizable composed operations.

Original languageEnglish
Title of host publication2014 International Symposium on Software Testing and Analysis, ISSTA 2014 - Proceedings
PublisherAssociation for Computing Machinery, Inc
Pages26-36
Number of pages11
ISBN (Electronic)9781450326452
DOIs
StatePublished - 21 Jul 2014
Event23rd International Symposium on Software Testing and Analysis, ISSTA 2014 - San Jose, United States
Duration: 21 Jul 201425 Jul 2014

Publication series

Name2014 International Symposium on Software Testing and Analysis, ISSTA 2014 - Proceedings

Conference

Conference23rd International Symposium on Software Testing and Analysis, ISSTA 2014
Country/TerritoryUnited States
CitySan Jose
Period21/07/1425/07/14

Keywords

  • Collections
  • Composed operations
  • Concurrency
  • Dataindependence
  • Linearizability
  • Verification

Fingerprint

Dive into the research topics of 'Verifying atomicity via data independence'. Together they form a unique fingerprint.

Cite this