A Unified Approach for Developing Software Reliability Growth Models in the Presence of Imperfect Debugging and Error Generation

In this paper, we propose two general frameworks for deriving several software reliability growth models based on a non-homogeneous Poisson process (NHPP) in the presence of imperfect debugging and error generation. The proposed models are initially formulated for the case when there is no differentiation between failure observation and fault removal testing processes, and then extended for the case when there is a clear differentiation between failure observation and fault removal testing processes. During the last three decades, many software reliability growth models (SRGM) have been developed to describe software failures as a random process, and can be used to evaluate development status during testing. With SRGM, software engineers can easily measure (or forecast) the software reliability (or quality), and plot software reliability growth charts. It is not easy to select the best model from a plethora of models available. There are few SRGM in the literature of software engineering that differentiates between failure observation and fault removal processes. In real software development environments, the number of failures observed need not be the same as the number of faults removed. Due to the complexity of software systems, and an incomplete understanding of software, the testing team may not be able to remove the fault perfectly on observation of a failure, and the original fault may remain, resulting in a phenomenon known as imperfect debugging, or get replaced by another fault causing error generation. In the case of imperfect debugging, the fault content of the software remains the same; while in the case of error generation, the fault content increases as the testing progresses. Removal of observed faults may result in the introduction of new faults.

[1]  Suku Nair,et al.  A Model for Software Development Effort and Cost Estimation , 1997, IEEE Trans. Software Eng..

[2]  Shigeru Yamada,et al.  An Infinite Server Queueing Model Considering Time Distribution of Fault Isolation Process for Software Reliability Assessment , 2002 .

[3]  Mitsuru Ohba,et al.  Does imperfect debugging affect software reliability growth? , 1989, ICSE '89.

[4]  Hoang Pham,et al.  Quasi-Renewal Time-Delay Fault-Removal Consideration in Software Reliability Modeling , 2009, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[5]  Michael R. Lyu,et al.  A Unified Scheme of Some Nonhomogenous Poisson Process Models for Software Reliability Estimation , 2003, IEEE Trans. Software Eng..

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

[7]  Min Xie,et al.  Handbook of Software Reliability Engineering, by Michael R. Lyu (Editor), McGraw-Hill and IEEE Computer Society, 1996 (Book Review) , 1997, Software testing, verification & reliability.

[8]  P. C. Jha,et al.  Effect of Introduction of Fault and Imperfect Debugging on Release Time , 2008 .

[9]  P. K. Kapur,et al.  Optimal sofware release policies for software reliability growth models under imperfect debugging , 1990 .

[10]  S. Kumar,et al.  Contributions to Hardware and Software Reliability , 1999, Series on Quality, Reliability and Engineering Statistics.

[11]  Norman F. Schneidewind,et al.  Modelling the fault correction process , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[12]  Swapna S. Gokhale,et al.  Log-logistic software reliability growth model , 1998, Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231).

[13]  Ming Zhao,et al.  The Schneidewind software reliability model revisited , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[14]  P. K. Kapur,et al.  A software reliability growth model for an error-removal phenomenon , 1992, Softw. Eng. J..

[15]  Mitsuru Ohba,et al.  Inflection S-Shaped Software Reliability Growth Model , 1984 .

[16]  Carol S. Smidts,et al.  A stochastic model of fault introduction and removal during software development , 2001, IEEE Trans. Reliab..

[17]  Nozer D. Singpurwalla,et al.  Unification of Software Reliability Models by Self-Exciting Point Processes , 1997, Advances in Applied Probability.

[18]  Xiaolin Teng,et al.  Considering fault removal efficiency in software reliability assessment , 2003, IEEE Trans. Syst. Man Cybern. Part A.

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

[20]  Tadashi Dohi,et al.  An infinite server queueing approach for describing software reliability growth: unified modeling and estimation framework , 2004, 11th Asia-Pacific Software Engineering Conference.

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

[22]  W D Brooks,et al.  Analysis of Discrete Software Reliability Models. , 1980 .

[23]  Chin-Yu Huang,et al.  An integration of fault detection and correction processes in software reliability analysis , 2006, J. Syst. Softw..

[24]  Amrit L. Goel,et al.  Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures , 1979, IEEE Transactions on Reliability.

[25]  Q. P. Hu,et al.  Modeling and Analysis of Software Fault Detection and Correction Process by Considering Time Dependency , 2007, IEEE Transactions on Reliability.

[26]  Jane M. Booker,et al.  Point Process Models With Applications to Safety and Reliability , 1990 .

[27]  Q. P. Hu,et al.  A study of the modeling and analysis of software fault‐detection and fault‐correction processes , 2007, Qual. Reliab. Eng. Int..

[28]  S. Bittanti,et al.  A Flexible Modelling Approach for Software Reliability Growth , 1987, Software Reliability Modelling and Identification.

[29]  Swapna S. Gokhale,et al.  A time/structure based software reliability model , 1999, Ann. Softw. Eng..

[30]  Douglas R. Miller Exponential order statistic models of software reliability growth , 1986, IEEE Transactions on Software Engineering.

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

[32]  Hoang Pham,et al.  A software cost model with imperfect debugging, random life cycle and penalty cost , 1996, Int. J. Syst. Sci..

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

[34]  Mitsuru Ohba,et al.  Software Reliability Analysis Models , 1984, IBM J. Res. Dev..

[35]  Nozer D. Singpurwalla,et al.  A Unification of Some Software Reliability Models , 1985 .

[36]  Swapna S. Gokhale,et al.  Analysis of Software Fault Removal Policies Using a Non-Homogeneous Continuous Time Markov Chain , 2004, Software Quality Journal.

[37]  Swapna S. Gokhale,et al.  Unification of finite failure non-homogeneous Poisson process models through test coverage , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[38]  Norman F. Schneidewind,et al.  Analysis of error processes in computer software , 1975, Reliable Software.