Tasks in modular proofs of concurrent algorithms

Proving the correctness of distributed or concurrent algorithms is a complex process. Errors in the reasoning are hard to find, calling for computer-checked proof systems like Coq or TLA+. To use these tools, sequential specifications of base objects are required to build modular proofs by compositi...

Full description

Saved in:
Bibliographic Details
Published in:Information and computation Vol. 292; no. Selected papers from SSS’2019, the 21st International Symposium on Stabilization, Safety, and Security of Distributed Systems; p. 105040
Main Authors: Castañeda, Armando, Hurault, Aurélie, Quéinnec, Philippe, Roy, Matthieu
Format: Journal Article
Language:English
Published: Elsevier Inc 01.06.2023
Elsevier
Subjects:
ISSN:0890-5401, 1090-2651
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Proving the correctness of distributed or concurrent algorithms is a complex process. Errors in the reasoning are hard to find, calling for computer-checked proof systems like Coq or TLA+. To use these tools, sequential specifications of base objects are required to build modular proofs by composition. Unfortunately, many concurrent objects lack a sequential specification. This article describes a method to transform any task, a specification of a concurrent one-shot distributed problem, into a sequential specification involving two calls, set and get. This enables designers to compose proofs, facilitating modular computer-checked proofs of algorithms built using tasks and sequential objects as building blocks. Moir & Anderson implementation of renaming using splitters, wait-free concurrent objects, is an algorithm designed by composition, but it is not modular. Using our transformation, a modular description of the algorithm is given in TLA+ and mechanically verified using the TLA+ Proof System. As far as we know, this is the first time this algorithm is mechanically verified.
ISSN:0890-5401
1090-2651
DOI:10.1016/j.ic.2023.105040