Enhancing The Fault-Tolerance of Nonmasking Programs
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Complexity Issues in Automated Synthesis of Failsafe Fault-Tolerance
IEEE Transactions on Dependable and Secure Computing
An approach to synthesise safe systems
International Journal of Security and Networks
Complexity results in revising UNITY programs
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Revising Distributed UNITY Programs Is NP-Complete
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Issues on the design of efficient fail-safe fault tolerance
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
An approach for designing and assessing detectors for dependable component-based systems
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
Adding fault-tolerance using pre-synthesized components
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
Revising UNITY programs: possibilities and limitations
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
Automated model repair for distributed programs
ACM SIGACT News
Hi-index | 0.00 |
In this paper, we focus our attention on the problem of automating the addition of 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. And, in the presence of faults, it satisfies its safety specification. We present a somewhat unexpected result that, in general, the problem of adding failsafe fault-tolerance in distributed programs is NP-hard. Towards this end, we reduce the 3-SAT problem to the problem of adding failsafe fault-tolerance. We also identify a class of specifications, monotonic specifications and a class of programs, monotonic programs. Given a (positive) monotonic specification and a (negative) monotonic program, we show that failsafe fault-tolerance can be added in polynomial time. We note that the monotonicity restrictions are met for commonlyencountered problems such as Byzantine agreement, distributed consensus, and atomic commitment. Finally, we argue that the restrictions on the specifications and programs are necessary to add failsafe fault-tolerance in polynomial time; we prove that if only one of these conditions is satisfied, the addition of failsafe fault-tolerance is still NP-hard.