This Article 
 Bibliographic References 
 Add to: 
Analysis of Faults in an N-Version Software Experiment
February 1990 (vol. 16 no. 2)
pp. 238-247

The authors have conducted a large-scale experiment in N-version programming. A total of 27 versions of a program were prepared independently from the same specification at two universities. The results of executing the versions revealed that the versions wereindividually extremely reliable but that the number of input cases in which more than one failed was substantially more than would be expected if they were statistically independent. After the versions had been executed, the failures of each version were examined and the associated faults located. It appears that minor differences in the software development environment would not have a major impact in reducing the incidence of faults that cause correlated failures.

[1] T. Anderson and P. A. Lee,Fault Tolerance, Principles and Practice. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[2] A. Avizienis and J. P. J. Kelly, "Fault-tolerant multi-version software: Experimental studies of a design diversity approach," Dep. Comput. Sci., Univ. California, Los Angeles, 1982.
[3] S. S. Brilliant, J. C. Knight, and N. G. Leveson, "The consistent comparison problem inN-version software,"IEEE Trans. Software Eng., vol. 15, pp. 1481-1485, Nov. 1989.
[4] L. Chen and A. Avizienis, "N-version programming: A fault-tolerance approach to reliability of software operation," inDig. FTCS-8: Eighth Annu. Int. Symp. Fault-Tolerant Computing, Tolouse, France, June 1978, pp. 3-9.
[5] J. R. Dunham, J. L. Pierce, and J. W. Dunn, "Evaluating the reliability ofN-version software subsystems--Some results from an on-going research project," Research Triangle Inst., Research Triangle, NC, 1983.
[6] D. E. Eckhardt and L. D. Lee, "A theoretical basis for the analysis of multiversion software subject to coincident errors,"IEEE Trans. Software Eng., vol. SE-11, pp. 1511-1517, Dec. 1985.
[7] L. Gmeiner and U. Voges, "Software diversity in reactor protection systems: An experiment," inSafety of Computer Control Systems, R. Lauber, Ed. New York: Pergamon, 1980, pp. 75-79.
[8] W. C. Guenther,Concepts of Statistical Inference. New York: McGraw-Hill, 1965.
[9] J. P. J. Kelly, "Specification of fault-tolerant multi-version software: Experimental studies of a design diversity approach," Ph.D. dissertation, Univ. California, Los Angles, 1982.
[10] J. Knight and N. Leveson, "An experimental evaluation of the assumption of independence in multiversion programming,"IEEE Trans. Software Eng., vol. SE-12, no. 1, pp. 96-109, Jan. 1986.
[11] J. C. Knight and N. G. Leveson, "An empirical study of failure probabilities in multiversion software," inDig. FTCS-16: Sixteenth Annu. Int. Symp. Fault-Tolerant Computing," Vienna, Austria, July 1986, pp. 165-170.
[12] J. C. Knight, N. G. Leveson, and L. D. St. Jean, "A large scale experiment inN-version programming," inDig. FTCS-15: Fifteenth Annu. Int. Symp. Fault-Tolerant Computing, Ann Arbor, MI, June 1985, pp. 135-139.
[13] D. E. Knuth,The Art of Computer Programming, Vol. 2, Seminumerical Algorithms. Reading, MA: Addison-Wesley, 1981.
[14] D. J. Martin, "Dissimilar software in high integrity applications in flight controls software for avionics," inAGARD Conf. Proc., Sept. 1982, pp. 36-1-36-13.
[15] P. M. Nagel and J. A. Skrivan, "Software reliability: Repetitive run experimentation and modeling," Boeing Computer Services Co., Seattle, WA, 1982 (prepared for National Aeronautics and Space Administration).

Index Terms:
failure analysis; fault location; statistical correlation; N-version programming; software development environment; fault tolerant computing; program testing; software engineering.
S.S. Brilliant, J.C. Knight, N.G. Leveson, "Analysis of Faults in an N-Version Software Experiment," IEEE Transactions on Software Engineering, vol. 16, no. 2, pp. 238-247, Feb. 1990, doi:10.1109/32.44387
Usage of this product signifies your acceptance of the Terms of Use.