Design diversity: an approach to fault tolerance of design faults

Diversity of design is discussed as a means to attain fault tolerance with respect to latent design faults in software and hardware. Some potential advantages of this approach in software versus a single design protected by fault avoidance (verification, validation, and proofs) are presented. An extension to design fault tolerance in VLSI circuits is identified. The results of earlier experimental studies are reviewed, and new results of a specification-oriented multiversion software experiment are summarized.

[1]  Hermann Kopetz,et al.  Software Redundancy in Real Time Systems , 1974, IFIP Congress.

[2]  C. V. Ramamoorthy,et al.  Failure-tolerant parallel programming and its supporting system architecture , 1976, AFIPS '76.

[3]  Udo Voges,et al.  Aspects of design, test and validation of the software for a computerized reactor protection system , 1976, ICSE '76.

[4]  Stephen H. Caine,et al.  PDL A tool for software design , 1899 .

[5]  Greg Thiel,et al.  LOCUS a network transparent, high reliability distributed system , 1981, SOSP.

[6]  Hartmut Ehrig,et al.  Algebraic Specification Schemes for Data Base Systems , 1978, VLDB.

[7]  A. Avizienis,et al.  Fault-tolerance: The survival attribute of digital systems , 1978, Proceedings of the IEEE.

[8]  Algirdas Avižienis Fault-tolerance and fault-intolerance: Complementary approaches to reliable computing , 1975 .

[9]  W.N. Toy,et al.  Fault-tolerant design of local ESS processors , 1978, Proceedings of the IEEE.

[10]  Jean Arlat,et al.  ON THE PERFORMANCE OF SOFTWARE FAULT-TOLERANCE STRATEGIES+ , 1980 .

[11]  Algirdas Avizienis,et al.  The STAR (Self-Testing And Repairing) Computer: An Investigation of the Theory and Practice of Fault-Tolerant Computer Design , 1971, IEEE Transactions on Computers.

[12]  Liming Chen Improving software reliability by n-version programming. , 1978 .

[13]  A.L. Hopkins,et al.  FTMP—A highly reliable fault-tolerant multiprocess for aircraft , 1978, Proceedings of the IEEE.

[14]  Lawrence Robinson,et al.  SPECIAL - A Specification and Assertion Language. , 1976 .

[15]  Algirdas Avizienis,et al.  An experimental self-repairing computer , 1968, IFIP Congress.

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

[17]  L. Gmeiner,et al.  Software Diversity in Reactor Protection Systems: An Experment , 1979 .

[18]  John P. J. Kelly,et al.  Specification of fault-tolerant multi-version software: experimental studies of a design diversity approach , 1982 .

[19]  Algirdas Avizienis,et al.  Fault-Tolerant Computing-Progress, Problems and Prospects , 1977, IFIP Congress.

[20]  Jack Goldberg,et al.  SIFT: A Provable Fault-Tolerant Computer for Aircraft Flight Control , 1980, IFIP Congress.