Modular verification of concurrency-aware linearizability

Nir Hemed, Noam Rinetzky, Viktor Vafeiadis

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

Abstract

Linearizability is the de facto correctness condition for concurrent objects. Informally, linearizable objects provide the illusion that each operation takes effect instantaneously at a unique point in time between its invocation and response. Hence, by design, linearizability cannot describe behaviors of concurrency-aware concurrent objects (CAobjects), objects in which several overlapping operations “seem to take effect simultaneously”. In this paper, we introduce concurrency-aware linearizability (CAL), a generalized notion of linearizability which allows to formally describe the behavior of CA-objects. Based on CAL, we develop a thread- and procedure-modular verification technique for reasoning about CA-objects and their clients. Using our new technique, we present the first proof of linearizability of the elimination stack of Hendler et al. [10] in which the stack’s elimination subcomponent, which is a general-purpose CA-object, is specified and verified independently of its particular usage by the stack.

Original languageEnglish
Title of host publicationDistributed Computing - 29th International Symposium, DISC 2015, Proceedings
EditorsYoram Moses
Pages371-387
Number of pages17
DOIs
StatePublished - 2015
Event29th International Symposium on Distributed Computing, DISC 2015 - Tokyo, Japan
Duration: 7 Oct 20159 Oct 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9363

Conference

Conference29th International Symposium on Distributed Computing, DISC 2015
Country/TerritoryJapan
CityTokyo
Period7/10/159/10/15

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Modular verification of concurrency-aware linearizability'. Together they form a unique fingerprint.

Cite this