Publication

Mechanical verification of Lamport's Bakery algorithm

Hesselink, W. H., 1-Sep-2013, In : Science of computer programming. 78, 9, p. 1622-1638 17 p.

Research output: Contribution to journalArticleAcademicpeer-review

Copy link to clipboard

Documents

  • 2013SciComputProgHesselink2.pdf

    Final publisher's version, 460 KB, PDF document

DOI

Proof assistants like PVS can be used fruitfully for the design and verification of concurrent algorithms. The technique is presented here by applying it to Lamport's Bakery algorithm. The proofs for safety properties such as mutual exclusion, first-come first-served, and absence of deadlock are based on invariants. The argument for liveness (progress) is given in a set-theoretic version of temporal logic. Liveness requires the assumption of weak fairness and holds only for executions with not more than finitely many fault steps per process. The condition of finitely many faults can be removed by postulating strong fairness. The algorithm and its verification are extended to allow unboundedly many processes, by means of expandable arrays and weak atomic snapshots. (C) 2013 Elsevier B.V. All rights reserved.

Original languageEnglish
Pages (from-to)1622-1638
Number of pages17
JournalScience of computer programming
Volume78
Issue number9
Publication statusPublished - 1-Sep-2013

    Keywords

  • Mutual exclusion, Shared variables, Safe variables, FCFS, Mechanical theorem proving, PARAMETERIZED VERIFICATION, PROGRAMS

ID: 2396422