Symbolic synthesis of masking fault-tolerant distributed programs

被引:0
作者
Borzoo Bonakdarpour
Sandeep S. Kulkarni
Fuad Abujarad
机构
[1] University of Waterloo,School of Computer Science
[2] Michigan State University,Department of Computer Science and Engineering
来源
Distributed Computing | 2012年 / 25卷
关键词
Distributed programs; Fault-tolerance; Program synthesis; Symbolic algorithms; Program transformation; Formal methods;
D O I
暂无
中图分类号
学科分类号
摘要
We focus on automated addition of masking fault-tolerance to existing fault-intolerant distributed programs. Intuitively, a program is masking fault-tolerant, if it satisfies its safety and liveness specifications in the absence and presence of faults. Masking fault-tolerance is highly desirable in distributed programs, as the structure of such programs are fairly complex and they are often subject to various types of faults. However, the problem of synthesizing masking fault-tolerant distributed programs from their fault-intolerant version is NP-complete in the size of the program’s state space, setting the practicality of the synthesis problem in doubt. In this paper, we show that in spite of the high worst-case complexity, synthesizing moderate-sized masking distributed programs is feasible in practice. In particular, we present and implement a BDD-based synthesis heuristic for adding masking fault-tolerance to existing fault-intolerant distributed programs automatically. Our experiments validate the efficiency and effectiveness of our algorithm in the sense that synthesis is possible in reasonable amount of time and memory. We also identify several bottlenecks in synthesis of distributed programs depending upon the structure of the program at hand. We conclude that unlike verification, in program synthesis, the most challenging barrier is not the state explosion problem by itself, but the time complexity of the decision procedures.
引用
收藏
页码:83 / 108
页数:25
相关论文
共 53 条
[1]  
Alpern B.(1985)Defining liveness Inf. Process. Lett. 21 181-185
[2]  
Schneider F.B.(1993)Closure and convergence: a foundation of fault-tolerant computing IEEE Trans. Softw. Eng. 19 1015-1027
[3]  
Arora A.(1998)Component based design of multitolerant systems IEEE Trans. Softw. Eng. 24 63-78
[4]  
Gouda M.G.(1998)Synthesis of concurrent systems with many similar processes ACM Trans. Program. Lang. Syst. (TOPLAS) 20 51-115
[5]  
Arora A.(1986)Graph-based algorithms for Boolean function manipulation IEEE Trans. Comput. 35 677-691
[6]  
Kulkarni S.S.(1992)Symbolic model checking: 10 Inf. Comput. 98 142-170
[7]  
Attie P.(1998) states and beyond IEEE Trans. Robot. Autom. 14 348-351
[8]  
Emerson E.A.(2000)Synthesis of fault-tolerant supervisor for automated manufacturing systems: a case study on photolithography process Softw. Tools Tech. Transf. (STTT) 2 410-425
[9]  
Bryant R.E.(2008)NUSMV: a new symbolic model checker Int. J. Soft. Tools Tech. Transf. (STTT) 10 455-471
[10]  
Burch J.R.(1996)FTSyn: a framework for automatic synthesis of fault-tolerance Formal Methods Syst. Des. Int. J. 9 105-131