2016
DOI: 10.1002/cpe.3928
|View full text |Cite
|
Sign up to set email alerts
|

Testing for linearizability

Abstract: Summary Linearizability is a well established correctness condition for concurrent datatypes. Informally, a concurrent datatype is linearizable if operation calls appear to have an effect, one at a time, in an order that is consistent with a sequential (specification) datatype, with each operation taking effect between the point at which it is called and when it returns. We present a testing framework for linearizabilty. The basic idea is to generate histories of the datatype randomly, and to test whether each… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
37
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 22 publications
(39 citation statements)
references
References 27 publications
(29 reference statements)
2
37
0
Order By: Relevance
“…This paper therefore considers only complete histories. This is fully justified under our stated assumption ( § 1) that the concurrent system is deadlockfree [5]. Condition L1 means that H ′ and S are identical if we disregard the order in which calls and returns occur in both sequences.…”
Section: Definition 5 (Linearizability) Let φ Be a Specification A mentioning
confidence: 93%
“…This paper therefore considers only complete histories. This is fully justified under our stated assumption ( § 1) that the concurrent system is deadlockfree [5]. Condition L1 means that H ′ and S are identical if we disregard the order in which calls and returns occur in both sequences.…”
Section: Definition 5 (Linearizability) Let φ Be a Specification A mentioning
confidence: 93%
“…The proposed techniques for verifying linearizability can be classified roughly into (i) testing, (ii) non-automated proofs, and (iii) automated proofs. Linearizability testing [Burckhardt et al 2010;Cerný et al 2010;Emmi and Enea 2018;Emmi et al 2015;Horn and Kroening 2015;Liu et al 2009Liu et al , 2013Lowe 2017;Travkin et al 2013;Vechev and Yahav 2008;Zhang 2011] enumerates an incomplete portion of the state space and checks whether or not the discovered computations are linearizable. This approach is useful for bug-hunting and for analyzing huge code bases.…”
Section: Related Workmentioning
confidence: 99%
“…Linearizability. Linearizability testing [Burckhardt et al 2010;Cerný et al 2010;Emmi and Enea 2018;Emmi et al 2015;Horn and Kroening 2015;Liu et al 2009Liu et al , 2013Lowe 2017;Travkin et al 2013;Vechev and Yahav 2008;Zhang 2011] is a bug hunting technique to find non-linearizable executions in large code bases. Since we focus on verification, we do not go into the details of linearizability testing.…”
Section: Related Workmentioning
confidence: 99%