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 :
بازگشت