Verifying lock-freedom using well-founded orders

  • Authors:
  • Robert Colvin;Brijesh Dongol

  • Affiliations:
  • ARC Centre for Complex Systems, School of Information Technology and Electrical Engineering, University of Queensland;ARC Centre for Complex Systems, School of Information Technology and Electrical Engineering, University of Queensland

  • Venue:
  • ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Lock-free algorithms are designed to improve the performance of concurrent programs by maximising the potential for processes to operate in parallel. Lock-free algorithms guarantee that within the system as a whole, some process will eventually complete its operation (as opposed to guaranteeing that all operations will eventully complete). Since lock-free algorithms potentially allow a high degree of interference between concurrent processes, and because their progress property is non-trivial, it is difficult to be assured of their correctness without a formal, machine-checked verification. In this paper we describe a method for proving the lock-free progress property. The approach is based on the construction of a well-founded ordering on the set of processes. The method is demonstrated using a well-known lock-free stack algorithm as an example, and we describe how the proof was checked using a theorem prover.