Survey on Parameterized Verification with Threshold Automata and the Byzantine Model Checker
Igor Konnov, Marijana Lazi\'c, Ilina Stoilkovska, Josef Widder

TL;DR
This survey reviews automated verification techniques for threshold-guarded fault-tolerant distributed algorithms, implemented in the Byzantine Model Checker, emphasizing their scalability to large systems with many processes and parameters.
Contribution
It provides an overview of verification methods for threshold-guarded algorithms and discusses their implementation in the Byzantine Model Checker for large-scale distributed systems.
Findings
Verification techniques support systems with hundreds or thousands of processes.
Threshold-guarded algorithms are correct under various fault conditions.
The Byzantine Model Checker enables scalable parameterized verification.
Abstract
Threshold guards are a basic primitive of many fault-tolerant algorithms that solve classical problems in distributed computing, such as reliable broadcast, two-phase commit, and consensus. Moreover, threshold guards can be found in recent blockchain algorithms such as, e.g., Tendermint consensus. In this article, we give an overview of techniques for automated verification of threshold-guarded fault-tolerant distributed algorithms, implemented in the Byzantine Model Checker (ByMC). These threshold-guarded algorithms have the following features: (1) up to of processes may crash or behave Byzantine; (2) the correct processes count messages and make progress when they receive sufficiently many messages, e.g., at least ; (3) the number of processes in the system is a parameter, as well as the number of faults; and (4) the parameters are restricted by a resilience…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Software Testing and Debugging Techniques · Logic, programming, and type systems
