Tractable refinement checking for concurrent objects

Ahmed Bouajjani, Michael Emmi, Constantin Enea, Jad Hamza

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

Abstract

Efficient implementations of concurrent objects such as semaphores, locks, and atomic collections are essential to modern computing. Yet programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one risks the conformance to reference implementations - or in formal terms, one risks violating observational refinement. Testing this refinement even within a single execution is intractable, limiting existing approaches to executions with very few object invocations. We develop a polynomial-time (per execution) approximation to refinement checking. The approximation is parameterized by an accuracy κ ε N representing the degree to which refinement violations are visible. In principle, more violations are detectable as κ increases, and in the limit, all are detectable. Our insight for this approximation arises from foundational properties on the partial orders characterizing the happens-before relations between object invocations: They are interval orders, with a well defined measure of complexity, i.e., their length. Approximating the happens-before relation with a possibly-weaker interval order of bounded length can be efficiently implemented by maintaining a bounded number of integer counters. In practice, we find that refinement violations can be detected with very small values of κ, and that our approach scales far beyond existing refinement-checking approaches.

Original languageEnglish
Title of host publicationPOPL 2015 - Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
PublisherAssociation for Computing Machinery
Pages651-662
Number of pages12
ISBN (Electronic)9781450333009
DOIs
Publication statusPublished - 14 Jan 2015
Externally publishedYes
Event42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015 - Mumbai, India
Duration: 12 Jan 201518 Jan 2015

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
Volume2015-January
ISSN (Print)0730-8566

Conference

Conference42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015
Country/TerritoryIndia
CityMumbai
Period12/01/1518/01/15

Keywords

  • Concurrency
  • Linearizability
  • Refinement

Fingerprint

Dive into the research topics of 'Tractable refinement checking for concurrent objects'. Together they form a unique fingerprint.

Cite this