A SURVEY OF SOFTWARE FAULT TOLERANCE TECHNIQUES

The paper surveys various software fault tolerance techniques and methodologies. The techniques include traditional techniques: recovery blocks (RcB), n-version programming, n selfchecking Programming, retry blocks (RtB), n-copy programming and some new techniques: adaptive n-version systems, fuzzy voting, abstraction, parallel graph reduction, rejuvenation. The utility for each technique based on its attribution has also been presented.

[1]  Tadashi Dohi,et al.  Behavioral Analysis of a Fault-Tolerant Software System with Rejuvenation , 2005, IEICE Trans. Inf. Syst..

[2]  Kishor S. Trivedi,et al.  Modeling Correlation in Software Recovery Blocks , 1993, IEEE Trans. Software Eng..

[3]  Algirdas Avizienis,et al.  Software Fault Tolerance , 1989, IFIP Congress.

[4]  H. Hecht,et al.  Fault tolerant software modules for SIFT , 1982 .

[5]  Miguel Castro,et al.  BASE: using abstraction to improve fault tolerance , 2001, SOSP.

[6]  Jim Gray,et al.  Why Do Computers Stop and What Can Be Done About It? , 1986, Symposium on Reliability in Distributed Software and Database Systems.

[7]  Yennun Huang,et al.  Software rejuvenation: analysis, module and applications , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[8]  Paul Ammann,et al.  Data Diversity: An Approach to Software Fault Tolerance , 1988, IEEE Trans. Computers.

[9]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[10]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[11]  Algirdas Avizienis,et al.  Fault Tolerance by Design Diversity: Concepts and Experiments , 1984, Computer.

[12]  P. M. Melliar-Smith,et al.  A program structure for error detection and recovery , 1974, Symposium on Operating Systems.

[13]  LaprieJean-Claude,et al.  Definition and Analysis of Hardware- and Software-Fault-Tolerant Architectures , 1990 .

[14]  William Yurcik,et al.  Achieving Fault-Tolerant Software with Rejuvenation and Reconfiguration , 2001, IEEE Softw..

[15]  Karl-Erwin Großpietsch,et al.  An adaptive approach for n-version systems , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[16]  D. Frincke,et al.  Towards the fault tolerant software: fuzzy extension of crisp equivalence voters , 2001, IECON'01. 27th Annual Conference of the IEEE Industrial Electronics Society (Cat. No.37243).

[17]  Jean Arlat,et al.  Reliability growth of fault-tolerant software , 1993 .

[18]  H. Hecht,et al.  Fault-Tolerant Software for Real-Time Applications , 1976, CSUR.