• 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