DocumentCode :
1167727
Title :
Complexity issues in automated synthesis of failsafe fault-tolerance
Author :
Kulkarni, Sandeep S. ; Ebnenasir, Ali
Author_Institution :
Dept. of Comput. Sci. & Eng., Michigan State Univ., East Lasning, MI, USA
Volume :
2
Issue :
3
fYear :
2005
Firstpage :
201
Lastpage :
215
Abstract :
We focus on the problem of synthesizing failsafe fault-tolerance where fault-tolerance is added to an existing (fault-intolerant) program. A failsafe fault-tolerant program satisfies its specification (including safety and liveness) in the absence of faults. However, in the presence of faults, it satisfies its safety specification. We present a somewhat unexpected result that, in general, the problem of synthesizing failsafe fault-tolerant distributed programs from their fault-intolerant version is NP-complete in the state space of the program. We also identify a class of specifications, monotonic specifications, and a class of programs, monotonic programs, for which the synthesis of failsafe fault-tolerance can be done in polynomial time (in program state space). As an illustration, we show that the monotonicity restrictions are met for commonly encountered problems, such as Byzantine agreement, distributed consensus, and atomic commitment. Furthermore, we evaluate the role of these restrictions in the complexity of synthesizing failsafe fault-tolerance. Specifically, we prove that if only one of these conditions is satisfied, the synthesis of failsafe fault-tolerance is still NP-complete. Finally, we demonstrate the application of monotonicity property in enhancing the fault-tolerance of (distributed) nonmasking fault-tolerant programs to masking.
Keywords :
computational complexity; distributed processing; formal specification; software fault tolerance; Byzantine agreement; NP-completeness; atomic commitment; automated failsafe fault-tolerance synthesis; distributed consensus; distributed nonmasking fault-tolerant programs; failsafe fault-tolerant distributed programs; formal methods; monotonic specifications; polynomial time; program state space; program synthesis; safety specification; Algorithm design and analysis; Automation; Design methodology; Fault diagnosis; Fault tolerance; Fault tolerant systems; Manuals; Polynomials; Safety; State-space methods; Index Terms- Fault-tolerance; automatic addition of fault-tolerance; distributed programs.; formal methods; program synthesis;
fLanguage :
English
Journal_Title :
Dependable and Secure Computing, IEEE Transactions on
Publisher :
ieee
ISSN :
1545-5971
Type :
jour
DOI :
10.1109/TDSC.2005.29
Filename :
1510617
Link To Document :
بازگشت