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...
Uložené v:
| 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: | , , , |
| 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!
|
| 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 |