2005
DOI: 10.1016/j.entcs.2005.04.026
|View full text |Cite
|
Sign up to set email alerts
|

Verifying Concurrent Data Structures by Simulation

Abstract: We describe an approach to verifying concurrent data structures based on simulation between two Input/Output Automata (IOAs), modelling the specification and the implementation. We explain how we used this approach in mechanically verifying a simple lock-free stack implementation using forward simulation, and briefly discuss our experience in verifying three other lock-free algorithms which all required the use of backward simulation.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
38
0

Year Published

2006
2006
2023
2023

Publication Types

Select...
5
2

Relationship

1
6

Authors

Journals

citations
Cited by 34 publications
(39 citation statements)
references
References 14 publications
1
38
0
Order By: Relevance
“…Our example stack and its lock-free implementation is based on that given in [3]. Initially the stack is described as a sequence of elements of some given type T together with two operations push and pop.…”
Section: The Stack and Its Lock-free Implementationmentioning
confidence: 99%
See 3 more Smart Citations
“…Our example stack and its lock-free implementation is based on that given in [3]. Initially the stack is described as a sequence of elements of some given type T together with two operations push and pop.…”
Section: The Stack and Its Lock-free Implementationmentioning
confidence: 99%
“…Recent work on formalizing and verifying lock-free algorithms includes [9,3,1,15] as well as our own [6]. These show correctness by showing that an abstraction (or simulation or refinement) relation exists between the abstract specification and the concurrent implementation [9,3,1,15,10,6].…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations
“…The algorithm considered here was taken from Colvin and Groves [18,22], who have given a correctness proof using IO automata and the theorem prover PVS. We have only studied the core algorithm, their work also discusses extending the algorithm with elimination arrays, and adds modification counts to avoid the ABA problem.…”
Section: Related Workmentioning
confidence: 99%