DocumentCode
1955444
Title
Formal Verification of Lock-Free Algorithms
Author
Schellhorn, Gerhard ; Baumler, Simon
Author_Institution
Inst. for Software & Syst. Eng., Univ. of Augsburg, Augsburg, Germany
fYear
2009
fDate
1-3 July 2009
Firstpage
13
Lastpage
18
Abstract
The current trend towards multi-core processors has renewed the interest in the development and correctness of concurrent algorithms. Most of these algorithms rely on locks to protect critical sections from unwanted interference. Recently a new class of nonblocking algorithms has been developed which do not rely on critical sections, but on atomic compare-and-set instructions. Such lock-free algorithms are less vulnerable to the typical problems of concurrent algorithms: deadlocks, livelocks and priority inversion. On the other hand, the lack of a uniform principle to rule out interference results in increased complexity. This makes it harder to understand these algorithms and to verify their correctness. The paper gives a simple example to demonstrate the central correctness criteria of linearizability (a safety property) and lock-freeness (a liveness property) for lock-free algorithms. It then sketches our approach to the modular verification of lock-free algorithms which uses rely-guarantee reasoning and a powerful temporal logic to derive refinement proof obligations that can be verified with the interactive theorem prover KIV. Finally an overview over related work and techniques that are relevant to automate proofs is given.
Keywords
formal verification; inference mechanisms; microprocessor chips; temporal logic; KIV; atomic compare-and-set instructions; concurrent algorithms; deadlocks; formal verification; interactive theorem prover; livelocks; lock-free algorithms; multicore processors; nonblocking algorithms; priority inversion; refinement proof obligations; rely-guarantee reasoning; temporal logic; Application software; Concurrent computing; Data structures; Formal verification; Interference; Logic; Multicore processing; Safety; Software algorithms; System recovery;
fLanguage
English
Publisher
ieee
Conference_Titel
Application of Concurrency to System Design, 2009. ACSD '09. Ninth International Conference on
Conference_Location
Augsburg
ISSN
1550-4808
Print_ISBN
978-0-7695-3697-2
Type
conf
DOI
10.1109/ACSD.2009.10
Filename
5291093
Link To Document