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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Information and computation Ročník 292; číslo Selected papers from SSS’2019, the 21st International Symposium on Stabilization, Safety, and Security of Distributed Systems; s. 105040
Hlavní autori: Castañeda, Armando, Hurault, Aurélie, Quéinnec, Philippe, Roy, Matthieu
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier Inc 01.06.2023
Elsevier
Predmet:
ISSN:0890-5401, 1090-2651
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí: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