Computer Aided Verification
DOI: 10.1007/978-3-540-73368-3_49
|View full text |Cite
|
Sign up to set email alerts
|

Comparison Under Abstraction for Verifying Linearizability

Abstract: Abstract. Linearizability is one of the main correctness criteria for implementations of concurrent data structures. A data structure is linearizable if its operations appear to execute atomically. Verifying linearizability of concurrent unbounded linked data structures is a challenging problem because it requires correlating executions that manipulate (unbounded-size) memory states. We present a static analysis for verifying linearizability of concurrent unbounded linked data structures. The novel aspect of o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
115
0

Publication Types

Select...
8

Relationship

0
8

Authors

Journals

citations
Cited by 92 publications
(116 citation statements)
references
References 17 publications
1
115
0
Order By: Relevance
“…We further show that we can use existing tools for proving classical linearizability (e.g., [16,2]) to establish our generalisation. To this end, we identify a class of linearization-closed properties that, when satisfied by a library, are also satisfied by any other library linearizing it.…”
Section: Introductionmentioning
confidence: 92%
See 2 more Smart Citations
“…We further show that we can use existing tools for proving classical linearizability (e.g., [16,2]) to establish our generalisation. To this end, we identify a class of linearization-closed properties that, when satisfied by a library, are also satisfied by any other library linearizing it.…”
Section: Introductionmentioning
confidence: 92%
“…We use this in §5 to harness existing linearizability checkers in reasoning about liveness properties. The linearizability of concurrent libraries according to the classical definition can be established using several logics and tools, e.g., based on separation logic [16,15] or TVLA [2]. These logics and tools reduce showing linearizability to proving an invariant relating the states of the implementation and the sequential specification.…”
Section: Concurrent Library Semantics and Linearizabilitymentioning
confidence: 99%
See 1 more Smart Citation
“…Amit et al [3] verify linearizability by verifying conformance to an abstract specification, which is the same as the implementation, but restricted to serialized executions. They build a specialized abstract domain that correlates the state (including the heap cells) of a concrete thread and the state of the serialized version, and a sequential reference data structure.…”
Section: Introductionmentioning
confidence: 99%
“…For example, [20], unlike this work and [8], considered only a bounded heap. Static analysis methods based on shape analysis [3,23] are not completely automated. A recent approach by [26] automatically is able to linearizability for unbounded heaps and threads but, reports limited success with concurrent lists.…”
Section: Introductionmentioning
confidence: 99%