Formal verification of a lazy concurrent list-based set algorithm

  • Authors:
  • Robert Colvin;Lindsay Groves;Victor Luchangco;Mark Moir

  • Affiliations:
  • ARC Centre for Complex Systems, School of Information Technology and, Electrical Engineering, University of Queensland, Australia;School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New Zealand;Sun Microsystems Laboratories, Burlington, MA;Sun Microsystems Laboratories, Burlington, MA

  • Venue:
  • CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe a formal verification of a recent concurrent list-based set algorithm due to Heller et al. The algorithm is optimistic: the add and remove operations traverse the list without locking, and lock only the nodes affected by the operation; the contains operation uses no locks and is wait-free. These properties make the algorithm challenging to prove correct, much more so than simple coarse-grained locking algorithms. We have proved that the algorithm is linearisable using simulation between input/output automata modelling the behaviour of an abstract set and the implementation. The automata and simulation proof obligations are specified and verified using PVS.