Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving the correctness of coroutines without history variables
ACM-SE 16 Proceedings of the 16th annual Southeast regional conference
Distributed Algorithms
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
A consistent and complete deductive system for the verification of parallel programs
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Distributed Consensus, revisited
Acta Informatica
A fault tolerance bisimulation proof for consensus
ESOP'07 Proceedings of the 16th European conference on Programming
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Formal verification of consensus algorithms tolerating malicious faults
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Hi-index | 0.00 |
We exhibit a methodology to develop mechanically-checkable parameterized proofs of the correctness of fault-tolerant round-based distributed algorithms in an asynchronous message-passing setting. Motivated by a number of case studies, we sketch how to replace often-used informal and incomplete pseudo code by mostly syntax-free formal and complete definitions of a global-state transition system. Special emphasis is put on the required deepening of the level of proof detail to be able to check them within an interactive theorem proving environment.