Issue No. 04 - October-December (2005 vol. 2)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TDSC.2005.52
In this paper, we investigate the effect of the representation of safety specification on the complexity of adding masking fault tolerance to programs—where, in the presence of faults, the program 1) recovers to states from where it satisfies its (safety and liveness) specification and 2) preserves its safety specification during recovery. Specifically, we concentrate on two approaches for modeling the safety specifications: 1) the bad transition (BT) model, where safety is modeled as a set of bad transitions that should not be executed by the program, and 2) the bad pair (BP) model, where safety is modeled as a set of finite sequences consisting of at most two successive transitions. If the safety specification is specified in the BT model, then it is known that the complexity of automatic addition of masking fault tolerance to high atomicity programs—where processes can read/write all program variables in an atomic step— is polynomial in the state space of the program. However, for the case where one uses the BP model to specify safety specification, we show that the problem of adding masking fault tolerance to high atomicity programs is NP-complete. Therefore, we argue that automated synthesis of fault-tolerant programs is likely to be more successful if one focuses on problems where safety can be represented in the BT model.
Index Terms- Fault-tolerance, automatic addition of fault tolerance, safety specification, formal methods, program synthesis.
A. Ebnenasir and S. S. Kulkarni, "The Effect of the Specification Model on the Complexity of Adding Masking Fault Tolerance," in IEEE Transactions on Dependable and Secure Computing, vol. 2, no. , pp. 348-355, 2005.