2015
DOI: 10.1007/978-3-662-48653-5_24
|View full text |Cite
|
Sign up to set email alerts
|

A Constructive Approach for Proving Data Structures’ Linearizability

Abstract: We present a comprehensive methodology for proving correctness of concurrent data structures. We exemplify our methodology by using it to give a roadmap for proving linearizability of the popular Lazy List implementation of the concurrent set abstraction. Correctness is based on our key theorem, which captures sufficient conditions for linearizability. In contrast to prior work, our conditions are derived directly from the properties of the data structure in sequential runs, without requiring the linearization… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
12
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 11 publications
(12 citation statements)
references
References 9 publications
0
12
0
Order By: Relevance
“…For this aim, we have to start with the usual definition of executions as history sequences and to define for each history H that describes a run of the Lazy Set algorithm a structure M H that corresponds to H. In fact, it is not difficult to see that it is possible to retrieve H from M H , so that these two mathematical objects and returning t rue. The Add protocol needs only one locking in [6] and in our paper, but it needs two locking (of pred and curr) in the earlier version [5], in [3], [4], [10] (these papers use two locking for the REMOVE operations as well).…”
Section: Discussionmentioning
confidence: 99%
“…For this aim, we have to start with the usual definition of executions as history sequences and to define for each history H that describes a run of the Lazy Set algorithm a structure M H that corresponds to H. In fact, it is not difficult to see that it is possible to retrieve H from M H , so that these two mathematical objects and returning t rue. The Add protocol needs only one locking in [6] and in our paper, but it needs two locking (of pred and curr) in the earlier version [5], in [3], [4], [10] (these papers use two locking for the REMOVE operations as well).…”
Section: Discussionmentioning
confidence: 99%
“…Highly-concurrent algorithms are notoriously difficult to prove correct [Feldman et al 2018;Lev-Ari et al 2015a;O'Hearn et al 2010;Vafeiadis 2008]. The standard desired correctness condition is linearizability [Herlihy and Wing 1990], which requires that every operation appears to take effect atomically at some point during its execution.…”
Section: Introductionmentioning
confidence: 99%
“…Accordingly, an emerging research thrust is to design proof techniques that enable using sequential reasoning to simplify proving the correctness of highly-concurrent algorithms [Feldman et al 2018;Lev-Ari et al 2015a]. The vision is for correctness proofs to follow from a meta-theorem about properties of the algorithm's sequential code, i.e., when running without interference.…”
Section: Introductionmentioning
confidence: 99%
“…Recently Lev-Ari et al [14,15] proposed a constructive methodology for proving correctness of CDSs. They have developed a very interesting notion of base-points and base-conditions to prove linearizability.…”
Section: Introductionmentioning
confidence: 99%
“…al. 's work, [14,15] we assume that these events by different threads are (1) atomic read, write on shared/local memory objects; (2) atomic read-modify-write or rmw operations such compare & swap etc. on shared memory objects (3) method invocation or inv event & response or rsp event on CDSs.…”
Section: Introductionmentioning
confidence: 99%