Verification of consensus algorithms using satisfiability solving

被引:22
作者
Tsuchiya, Tatsuhiro [1 ]
Schiper, Andre [2 ]
机构
[1] Osaka Univ, Suita, Osaka 5650871, Japan
[2] Ecole Polytech Fed Lausanne, CH-1015 Lausanne, Switzerland
基金
瑞士国家科学基金会;
关键词
Consensus; Model checking; Fault-tolerant distributed algorithms; Formal verification; BOUNDED MODEL CHECKING; DISTRIBUTED CONSENSUS; AUTOMATED VERIFICATION; INDUCTION; TIME;
D O I
10.1007/s00446-010-0123-3
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:341 / 358
页数:18
相关论文
共 38 条
[1]  
[Anonymous], 1993, Symbolic Model Checking
[2]  
Ben-Or M., 1983, Proceedings of the second annual ACM symposium on Principles of distributed computing, PODC'83, P27
[3]  
BOKOR P, 2007, TRTUDDEEDS09012007
[4]   Action Language Verifier [J].
Bultan, T ;
Yavuz-Kahveci, T .
16TH ANNUAL INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2001), PROCEEDINGS, 2001, :382-386
[5]   Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results [J].
Bultan, T ;
Gerber, R ;
Pugh, W .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (04) :747-789
[6]   Unreliable failure detectors for reliable distributed systems [J].
Chandra, TD ;
Toueg, S .
JOURNAL OF THE ACM, 1996, 43 (02) :225-267
[7]  
Chaouch-Saad M, 2009, LECT NOTES COMPUT SC, V5797, P93, DOI 10.1007/978-3-642-04420-5_10
[8]  
Charron-Bost B., 2007, SIGACT News, V38, P53, DOI 10.1145/1233481.1233496
[9]  
Charron-Bost B., 2009, INT J SOFTWARE INFOR, V3, P273
[10]  
Charron-Bost B, 2006, 12TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, P287