Mathematical modeling of software reliability testing with imperfect debugging

Software reliability testing is concerned with the quantitative relationship between software testing and software reliability. Our previous work develops a mathematically rigorous modeling framework for software reliability testing. However the modeling framework is confined to the case of perfect debugging, where detected defects are removed without introducing new defects. In this paper the modeling framework is extended to the case of imperfect debugging and two models are proposed. In the first model it is assumed that debugging is imperfect and may make the number of remaining defects reduce by one, remain intact, or increase by one. In the second model it is assumed that when the number of remaining defects reaches the upper bound, the probability that the number of remaining defects is increased by one by debugging is zero. The expected behaviors of the cumulative number of observed failures and the number of remaining defects in the first model show that the software testing process may induce a linear or nonlinear dynamic system, depending on the relationship between the probability of debugging introducing a new defect and that of debugging removing a detected defect. The second-order behaviors of the first model also show that in the case of imperfect debugging, although there may be unbiased estimator for the initial number of defects remaining in the software under test, the cumulative number of observed failures and the current number of remaining defects are not sufficient for precisely estimating the initial number of remaining defects. This is because the variance of the unbiased estimator approaches a non-zero constant as the software testing process proceeds. This may be treated as an intrinsic principle of uncertainty for software testing. The expected behaviors of the cumulative number of observed failures and the number of remaining defects in the second model show that the software testing process may induce a nonlinear dynamic system. However theoretical analysis and simulation results show that, if defects are more often removed from than introduced into the software under test, the expected behaviors of the two models tend to coincide with each other as the upper bound of the number of remaining defects approaches infinity.

[1]  Kai-Yuan Cai,et al.  Software Defect and Operational Profile Modeling , 1998, The Kluwer International Series in Software Engineering.

[2]  Kai-Yuan Cai,et al.  Optimal software testing and adaptive software testing in the context of software cybernetics , 2002, Inf. Softw. Technol..

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

[4]  Feller William,et al.  An Introduction To Probability Theory And Its Applications , 1950 .

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

[6]  Kai-Yuan Cai,et al.  Optimal and adaptive testing for software reliability assessment , 2004, Inf. Softw. Technol..

[7]  James Ledoux,et al.  Software Reliability Modeling , 2003 .

[8]  Jesse H. Poore,et al.  Markov analysis of software specifications , 1993, TSEM.

[9]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[10]  Paul Ammann,et al.  The Effect of Imperfect Error Detection on Reliability Assessment via Life Testing , 1992, IEEE Trans. Software Eng..

[11]  Frank Allgöwer,et al.  An Introduction to Nonlinear Model Predictive Control , 2002 .

[12]  Kai-Yuan Cai,et al.  Does software reliability growth behavior follow a non-homogeneous Poisson process , 2008, Inf. Softw. Technol..

[13]  Michael R. Lyu,et al.  A hierarchical mixture model for software reliability prediction , 2007, Appl. Math. Comput..

[14]  James A. Whittaker,et al.  A Markov Chain Model for Statistical Software Testing , 1994, IEEE Trans. Software Eng..

[15]  William Feller,et al.  An Introduction to Probability Theory and Its Applications , 1967 .

[16]  Chi-Tsong Chen,et al.  Linear System Theory and Design , 1995 .

[17]  Sigrid Eldh Software Testing Techniques , 2007 .

[18]  Kai-Yuan Cai,et al.  A mathematical modeling framework for software reliability testing , 2007, Int. J. Gen. Syst..

[19]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[20]  Kai-Yuan Cai,et al.  Software testing processes as a linear dynamic system , 2008, Inf. Sci..

[21]  M. Lewin On nonnegative matrices , 1971 .

[22]  Simon P. Wilson,et al.  Software Reliability Modeling , 1994 .

[23]  Yen-Chang Chang,et al.  Software release policies on a shot-noise process model , 2005, Appl. Math. Comput..

[24]  P. Hall,et al.  Martingale Limit Theory and Its Application , 1980 .