Tsuchiya, Tatsuhiro
Schiper, Andre
Verification of consensus algorithms using satisfiability solving
Distributed Computing
Distributed Computing
Distributed Computing
Distributed Computing
23
Consensus
Model checking
Fault-tolerant distributed algorithms
Formal verification
Bounded Model Checking
Distributed Consensus
Automated Verification
Agreement
Induction
Systems
Solver
Paxos
Time
2011
2011
Consensus is at the heart of fault-tolerant distributed computing systems. Much research has been devoted to developing algorithms for this particular problem. This paper presents a semi-automatic verification approach for asynchronous consensus algorithms, aiming at facilitating their development. Our approach uses model checking, a widely practiced verification method based on state traversal. The challenge here is that the state space of these algorithms is huge, often infinite, thus making model checking infeasible. The proposed approach addresses this difficulty by reducing the verification problem to small model checking problems that involve only single phases of algorithm execution. Because a phase consists of a small, finite number of rounds, bounded model checking, a technique using satisfiability solving, can be effectively used to solve these problems. The proposed approach allows us to model check several consensus algorithms up to around 10 processes.
Springer Verlag
0178-2770
Distributed Computing
Journal Articles
10.1007/s00446-010-0123-3