Formal Verification of a Practical Lock-Free Queue Algorithm

  • Simon Doherty
  • Lindsay Groves
  • Victor Luchangco
  • Mark Moir
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3235)


We describe a semi-automated verification of a slightly optimised version of Michael and Scott’s lock-free FIFO queue implementation. We verify the algorithm with a simulation proof consisting of two stages: a forward simulation from an automaton modelling the algorithm to an intermediate automaton, and a backward simulation from the intermediate automaton to an automaton that models the behaviour of a FIFO queue. These automata are encoded in the input language of the PVS proof system, and the properties needed to show that the algorithm implements the specification are proved using PVS’s theorem prover.


  1. 1.
    Michael, M., Scott, M.: Nonblocking algorithms and preemption safe locking on multiprogrammed shared memory multiprocessors. Journal of Parallel and Distributed Computing 51, 1–26 (1998)CrossRefzbMATHGoogle Scholar
  2. 2.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12, 463–492 (1990)CrossRefGoogle Scholar
  3. 3.
    Crow, J., Owre, S., Rushby, J., Shankar, N., Srivas, M.: A tutorial introduction to PVS. In: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, Florida (1995)Google Scholar
  4. 4.
    Moir, M.: Practical implementations of non-blocking synchronization primitives. In: Proceedings of the 15th Annual ACM Symposium on the Principles of Distributed Computing, Santa Barbara, CA (1997)Google Scholar
  5. 5.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)zbMATHGoogle Scholar
  6. 6.
    Lynch, N.A., Vaandrager, F.W.: Forward and backward simulations – Part I: Untimed systems. Information and Computation 121, 214–233 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Ramírez-Robredo, J.A.: Paired simulation of I/O automata. Master’s thesis, Massachusetts Institute of Technology (2000)Google Scholar
  8. 8.
    Devillers, M.: Translating IOA automata to PVS. Technical Report CSI-R9903, Computing Science Institute, University of Nijmegen, the Netherlands (1999)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2004

Authors and Affiliations

  • Simon Doherty
    • 1
  • Lindsay Groves
    • 1
  • Victor Luchangco
    • 2
  • Mark Moir
    • 2
  1. 1.School of Mathematical and Computing SciencesVictoria University of WellingtonNew Zealand
  2. 2.Sun Microsystems LaboratoriesBurlingtonUSA

Personalised recommendations