Model checking of distributed algorithms using synchronous programs
The development of trustworthy distributed algorithms requires the verification of some key properties with respect to the formal specification of the expected system executions. The atomic-state model (ASM) is the most commonly used computational model to reason on self-stabilizing algorithms. In t...
Gespeichert in:
| Veröffentlicht in: | Theoretical computer science Jg. 1045; S. 115292 |
|---|---|
| Hauptverfasser: | , , , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Elsevier B.V
11.08.2025
Elsevier |
| Schlagworte: | |
| ISSN: | 0304-3975, 1879-2294 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | The development of trustworthy distributed algorithms requires the verification of some key properties with respect to the formal specification of the expected system executions. The atomic-state model (ASM) is the most commonly used computational model to reason on self-stabilizing algorithms. In this work, we propose methods and tools to automatically verify the self-stabilization of distributed algorithms defined in that model. To that goal, we exploit the similarities between the ASM and computational models issued from the synchronous programming area to reuse their associated verification tools, and in particular their model checkers. This allows the automatic verification of all safety properties (including bounded liveness) of any algorithm under various asynchrony assumptions (from fully asynchronous to fully synchronous) and regardless of the hypotheses on the network (e.g., on its topology, its edge and node labeling).
•We propose a language-based framework to verify distributed algorithms written in the atomic-state model.•The approach is modular due to a clear separation between the description of algorithms, daemons, topologies, and properties.•We illustrate our proposal by verifying various self-stabilizing algorithms, solving both static and dynamic tasks.•The versatility does not come at the price of sacrificing too much efficiency in terms of verification time. |
|---|---|
| ISSN: | 0304-3975 1879-2294 |
| DOI: | 10.1016/j.tcs.2025.115292 |