An Empirical Method for Selecting Software Reliability Growth Models

Estimating remaining defects (or failures) in software can help test managers make release decisions during testing. Several methods exist to estimate defect content, among them a variety of software reliability growth models (SRGMs). SRGMs have underlying assumptions that are often violated in practice, but empirical evidence has shown that many are quite robust despite these assumption violations. The problem is that, because of assumption violations, it is often difficult to know which models to apply in practice. We present an empirical method for selecting SRGMs to make release decisions. The method provides guidelines on how to select among the SRGMs to decide on the best model to use as failures are reported during the test phase. The method applies various SRGMs iteratively during system test. They are fitted to weekly cumulative failure data and used to estimate the expected remaining number of failures in software after release. If the SRGMs pass proposed criteria, they may then be used to make release decisions. The method is applied in a case study using defect reports from system testing of three releases of a large medical record system to determine how well it predicts the expected total number of failures.

[1]  R. Sitte Comparison of software-reliability-growth predictions: neural networks vs parametric-recalibration , 1999 .

[2]  Alan Wood,et al.  Software reliability growth models: assumptions vs. reality , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[3]  Lawrence G. Votta,et al.  Assessing Software Designs Using Capture-Recapture Methods , 1993, IEEE Trans. Software Eng..

[4]  Kai-Yuan Cai,et al.  A critical review on software reliability modeling , 1991 .

[5]  Taghi M. Khoshgoftaar,et al.  Software reliability model selection: a cast study , 1991, Proceedings. 1991 International Symposium on Software Reliability Engineering.

[6]  Shunji Osaki,et al.  Software Reliability Growth Modeling: Models and Applications , 1985, IEEE Transactions on Software Engineering.

[7]  Sarah Brocklehurst,et al.  Techniques for prediction analysis and recalibration , 1996 .

[8]  Dimitri Kececioglu,et al.  Reliability Engineering Handbook (Volume 2) , 1991 .

[9]  Padmanabhan Santhanam,et al.  Exploring defect data from development and customer usage on software modules over multiple releases , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[10]  Dimitri Kececioglu,et al.  Reliability engineering handbook , 1991 .

[11]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[12]  Claes Wohlin,et al.  An Experimental Evaluation of an Experience-Based Capture-Recapture Method in Software Code Inspections , 1998, Empirical Software Engineering.

[13]  Sarah Brocklehurst,et al.  Recalibrating Software Reliability Models , 1990, IEEE Trans. Software Eng..

[14]  K Okumoto,et al.  TIME-DEPENDENT ERROR-DETECTION RATE MODEL FOR SOFTWARE AND OTHER PERFORMANCE MEASURES , 1979 .

[15]  Claes Wohlin,et al.  Defect content estimations from review data , 1998, Proceedings of the 20th International Conference on Software Engineering.

[16]  John D. Musa,et al.  Quantifying Software Validation: When to Stop Testing? , 1989, IEEE Softw..

[17]  Asit P. Basu,et al.  Statistical Methods for the Reliability of Repairable Systems , 2000 .

[18]  Eric R. Ziegel,et al.  Statistical Methods for the Reliability of Repairable Systems , 2001, Technometrics.

[19]  Shigeru Yamada,et al.  S-Shaped Reliability Growth Modeling for Software Error Detection , 1983, IEEE Transactions on Reliability.

[20]  M. Trachtenberg A general theory of software-reliability modeling , 1990 .

[21]  Bev Littlewood,et al.  Criteria for Software Reliability Model Comparisons , 1984, IEEE Transactions on Software Engineering.

[22]  A. Von Mayrhauser,et al.  An integrated method for improving testing effectiveness and efficiency , 2000 .

[23]  Michael R. Lyu,et al.  CASRE: a computer-aided software reliability estimation tool , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.

[24]  Bev Littlewood,et al.  Evaluating Testing Methods by Delivered Reliability , 1998, IEEE Trans. Software Eng..

[25]  Lionel C. Briand,et al.  Quantitative evaluation of capture-recapture models to control software inspections , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[26]  Stephen G. Eick,et al.  Estimating software fault content before coding , 1992, International Conference on Software Engineering.

[27]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[28]  Marvin V. Zelkowitz,et al.  Analyzing medium-scale software development , 1978, ICSE '78.

[29]  A. Chao,et al.  Reliability-estimation and stopping-rules for software testing, based on repeated appearances of bugs , 1995 .

[30]  Tze-Jie Yu,et al.  An Analysis of Several Software Defect Models , 1988, IEEE Trans. Software Eng..

[31]  Lionel C. Briand,et al.  A comparison and integration of capture-recapture models and the detection profile method , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[32]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[33]  John D. Musa,et al.  Software-Reliability-Engineered Testing , 1996, Computer.

[34]  A. Wood,et al.  Predicting Software Reliability , 1996, Computer.

[35]  Claes Wohlin,et al.  An experimental evaluation of capture‐recapture in software inspections , 1995, Softw. Test. Verification Reliab..

[36]  Bev Littlewood,et al.  Evaluation of competing software reliability predictions , 1986, IEEE Transactions on Software Engineering.

[37]  Amrit L. Goel,et al.  Software Reliability Models: Assumptions, Limitations, and Applicability , 1985, IEEE Transactions on Software Engineering.

[38]  Min Xie,et al.  A simple goodness-of-fit test for the power-law process, based on the Duane plot , 2003, IEEE Trans. Reliab..

[39]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[40]  Shigeru Yamada,et al.  Software Reliability Growth Models with Testing-Effort , 1986, IEEE Transactions on Reliability.