Assessing multi-version systems through fault injection

Multi-version design (MVD) has been proposed as a method for increasing the dependability, of critical systems beyond current levels. However, a major obstacle to large-scale commercial usage of this approach is the lack of quantitative characterizations available. We seek to help answer this problem using fault injection. This approach has the potential for yielding highly useful metrics with regard to MVD systems, as well as giving developers a greater insight into the behaviour of each channel within the system. In this research, we develop an automatic fault injection system for multi-version systems called FITMVS. We use this si,stem to test a multi-version system, and then analyze the results produced. We conclude that this approach can yield useful metrics, including metrics related to channel sensitivity, code scope sensitivity, and the likelihood of common-mode failure occurring within a system.

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

[2]  David F. McAllister,et al.  An Experimental Evaluation of Software Redundancy as a Strategy For Improving Reliability , 1991, IEEE Trans. Software Eng..

[3]  Nancy G. Leveson,et al.  A reply to the criticisms of the Knight & Leveson experiment , 1990, SOEN.

[4]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[5]  John H R May,et al.  Testing the diversity of multi-version software using fault injection , 1999 .

[6]  Dhiraj K. Pradhan,et al.  Fault Injection: A Method for Validating Computer-System Dependability , 1995, Computer.

[7]  Jie Xu,et al.  Building dependable software for critical applications: multi-version software versus one good version , 2001, Proceedings Sixth International Workshop on Object-Oriented Real-Time Dependable Systems.

[8]  Jean-Claude Laprie,et al.  Software reliability and system reliability , 1996 .

[9]  Keith W. Miller,et al.  Using fault injection to assess software engineering standards , 1995, Proceedings of Software Engineering Standards Symposium.

[10]  H. Hecht Rare conditions-an important cause of failures , 1993, COMPASS '93: Proceedings of the Eighth Annual Conference on Computer.

[11]  G. B. Finelli,et al.  The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software , 1993, IEEE Trans. Software Eng..

[12]  Nancy G. Leveson,et al.  An experimental evaluation of the assumption of independence in multiversion programming , 1986, IEEE Transactions on Software Engineering.

[13]  K. H. Kim Issues insufficiently resolved in Century 20 in the fault-tolerant distributed computing field , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[14]  Dale A. Mackall Development and flight test experiences with a flight-crucial digital control system , 1988 .

[15]  Dave E. Eckhardt,et al.  A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident Errors , 1985, IEEE Transactions on Software Engineering.

[16]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[17]  Jeffrey M. Voas,et al.  Reducing uncertainty about common-mode failures , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[18]  H. Hecht,et al.  Rare conditions and their effect on software failures , 1994, Proceedings of Annual Reliability and Maintainability Symposium (RAMS).

[19]  Jim Gray,et al.  A census of Tandem system availability between 1985 and 1990 , 1990 .

[20]  Bev Littlewood,et al.  N-version design Versus one Good Version , 2000 .

[21]  David F. McAllister,et al.  A large scale second generation experiment in multi-version software: description and early results , 1988, [1988] The Eighteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[22]  Diamantino Costa,et al.  Fault injection spot-checks computer system dependability , 1999 .

[23]  D. McAllister,et al.  Cost modelling of fault-tolerant software , 1991 .