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ženo v:
| Vydáno 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í autoři: | , , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier Inc
01.06.2023
Elsevier |
| Témata: | |
| ISSN: | 0890-5401, 1090-2651 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| 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 |