A software-reliability growth model for N-version programming systems

This paper presents a NHPP-based SRGM (software reliability growth model) for NVP (N-version programming) systems (NVP-SRGM) based on the NHPP (nonhomogeneous Poisson process). Although many papers have been devoted to modeling NVP-system reliability, most of them consider only the stable reliability, i.e., they do not consider the reliability growth in NVP systems due to continuous removal of faults from software versions. The model in this paper is the first reliability-growth model for NVP systems which considers the error-introduction rate and the error-removal efficiency. During testing and debugging, when a software fault is found, a debugging effort is devoted to remove this fault. Due to the high complexity of the software, this fault might not be successfully removed, and new faults might be introduced into the software. By applying a generalized NHPP model into the NVP system, a new NVP-SRGM is established, in which the multi-version coincident failures are well modeled. A simplified software control logic for a water-reservoir control system illustrates how to apply this new software reliability model. The s-confidence bounds are provided for system-reliability estimation. This software reliability model can be used to evaluate the reliability and to predict the performance of NVP systems. More application is needed to validate fully the proposed NVP-SRGM for quantifying the reliability of fault-tolerant software systems in a general industrial setting. As the first model of its kind in NVP reliability-growth modeling, the proposed NVP SRGM can be used to overcome the shortcomings of the independent reliability model. It predicts the system reliability more accurately than the independent model and can be used to help determine when to stop testing, which is a key question in the testing and debugging phase of the NVP system-development life cycle.

[1]  Jean Arlat,et al.  Definition and analysis of hardware- and software-fault-tolerant architectures , 1990, Computer.

[2]  Hoang Pham Software Reliability , 1999 .

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

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

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

[6]  Xuemei Zhang,et al.  An NHPP Software Reliability Model and Its Comparison , 1997 .

[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.  Dependability Modeling for Fault-Tolerant Software and Systems , 1995 .

[9]  Victor F. Nicola,et al.  Modeling of Correlated Failures and Community Error Recovery in Multiversion Software , 1990, IEEE Trans. Software Eng..

[10]  Liming Chen,et al.  N-VERSION PROGRAMMINC: A FAULT-TOLERANCE APPROACH TO RELlABlLlTY OF SOFTWARE OPERATlON , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[11]  Hoang Pham,et al.  Software reliability models for critical applications , 1991 .

[12]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

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

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

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

[16]  Hoang Pham,et al.  Fault-Tolerant Software Systems: Techniques and Applications , 1992 .

[17]  Michael R. Lyu,et al.  System reliability analysis of an N-version programming application , 1994 .

[18]  Hoang Pham,et al.  A general imperfect-software-debugging model with S-shaped fault-detection rate , 1999 .

[19]  John Cowles,et al.  Evaluation of combined approaches to distributed software-based fault tolerance , 1991, [1991] Proceedings Pacific Rim International Symposium on Fault Tolerant Systems.

[20]  Michael R. Lyu Software reliability measurements in N-Version software execution environment , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[21]  Ann T. Tai,et al.  Performability enhancement of fault-tolerant software , 1993 .

[22]  David F. McAllister,et al.  Fault-Tolerant SoFtware Reliability Modeling , 1987, IEEE Transactions on Software Engineering.

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