Temporal logic verification of lock-freedom

  • Authors:
  • Bogdan Tofan;Simon Bäumler;Gerhard Schellhorn;Wolfgang Reif

  • Affiliations:
  • Institute for Software and Systems Engineering, University of Augsburg, Augsburg, Germany;Institute for Software and Systems Engineering, University of Augsburg, Augsburg, Germany;Institute for Software and Systems Engineering, University of Augsburg, Augsburg, Germany;Institute for Software and Systems Engineering, University of Augsburg, Augsburg, Germany

  • Venue:
  • MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Lock-free implementations of data structures try to better utilize the capacity of modern multi-core computers, by increasing the potential to run in parallel. The resulting high degree of possible interference makes verification of these algorithms challenging. In this paper we describe a technique to verify lock-freedom, their main liveness property. The result complements our earlier work on proving linearizability, the standard safety property of lock-free algorithms. Our approach mechanizes both, the derivation of proof obligations as well as their verification for individual algorithms. It is based on an encoding of rely-guarantee reasoning using the temporal logic framework of the interactive theorem prover KIV. By means of a slightly improved version of Michael and Scott's lock-free queue algorithm we demonstrate how the most complex parts of the proofs can be reduced to relatively simple steps of symbolic execution.