An experimental evaluation on reliability features of N-version programming

Although N-version programming has been employed in some mission-critical applications, the reliability and fault correlation issues remain a debatable topic in the research community. In this paper, we perform a comprehensive evaluation on our recent project data on N-version programming and present statistical investigations on coincident failures and correlated faults. Furthermore, we compare our project with NASA 4-University project to identify the "variants" and "invariants" with respect to failure rate, fault density, coincident failures, related faults, and reliability improvement for N-version programming. Our experimental results support fault tolerance as an effective software reliability engineering technique

[1]  Alexander Romanovsky,et al.  An evolutionary and adaptive approach for n-version programming , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[2]  Bev Littlewood,et al.  Conceptual Modeling of Coincident Failures in Multiversion Software , 1989, IEEE Trans. Software Eng..

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

[4]  Karl-Erwin Großpietsch Optimizing the reliability of component-based n-version approaches , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[5]  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.

[6]  Piotr Jędrzejowicz,et al.  Fault-tolerant programs and their reliability , 1990 .

[7]  Michael R. Lyu,et al.  Improving the N-version programming process through the evolution of a design paradigm , 1993 .

[8]  Michael R. Lyu,et al.  An empirical study on testing and fault tolerance for software reliability engineering , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[9]  Xiaolin Teng,et al.  A software-reliability growth model for N-version programming systems , 2002, IEEE Trans. Reliab..

[10]  Mustafa Ege,et al.  Reliability analysis in N-version programming with dependent failures , 2001, Proceedings 27th EUROMICRO Conference. 2001: A Net Odyssey.

[11]  David F. McAllister,et al.  Analysis of faults detected in a large-scale multi-version software development experiment , 1990, 9th IEEE/AIAA/NASA Conference on Digital Avionics Systems.

[12]  Lorenzo Strigini,et al.  Estimating Bounds on the Reliability of Diverse Systems , 2003, IEEE Trans. Software Eng..

[13]  Michael R. Lyu,et al.  Dependability Modeling for Fault-Tolerant Software and Systems , 1995 .

[14]  Bev Littlewood,et al.  Modeling software design diversity: a review , 2001, CSUR.

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

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

[17]  Michael R. Lyu,et al.  An empirical study on reliability modeling for diverse software systems , 2004, 15th International Symposium on Software Reliability Engineering.

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

[19]  Bev Littlewood,et al.  Design diversity: an update from research on reliability modelling , 2001 .