Mechanizing a correctness proof for a lock-free concurrent stack

12Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

Distributed algorithms are inherently complex to verify. In this paper we show how to verify that a concurrent lock-free implementation of a stack is correct by mechanizing the proof that it is linearizable, linearizability being a correctness notion for concurrent objects. Our approach consists of two parts: the first part is independent of the example and derives proof obligations local for one process which imply linearizabilty. The conditions establish a (special sort of non-atomic) refinement relationship between the specification and the concurrent implementation. These are used in the second part to verify the lock-free stack implementation. We use the specification language Z to describe the algorithms and the KIV theorem prover to mechanize the proof. © 2008 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Derrick, J., Schellhorn, G., & Wehrheim, H. (2008). Mechanizing a correctness proof for a lock-free concurrent stack. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5051 LNCS, pp. 78–95). Springer Verlag. https://doi.org/10.1007/978-3-540-68863-1_6

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free