SOFTWARE FAILURE INTENSITY, RELIABILITY AND OPTIMAL STOPPING TIME INCORPORATING REPAIR POLICIES

Reliability of a software application, its failure intensity and the residual number of faults are three important metrics that provide a quantitative assessment of the failure characteristics of an application. Ultimately, it is also necessary, based on these metrics, to determine an optimal release time at which costs justify the stop test decision. Typically, one of the many stochastic models known as software reliability growth models (SRGMs) is used to characterize the failure behavior of an application to provide estimates of the failure intensity, residual number of faults, reliability, and optimal release time and cost. To ensure analytical tractability, SRGMs assume instantaneous repair and thus the estimates of these metrics obtained using SRGMs tend to be optimistic. In practice, repair activity consumes a non trivial amount of time and resources. Also, repair may be conducted according to many policies which reflect the schedule and budget constraints of a project. A few efforts which incorporate repair into SRGMs are restrictive, since they consider only some SRGMs, model the repair process using a constant repair rate, and provide an estimate of only the residual number of faults. These efforts do not address the issue of estimating the failure intensity, reliability and optimal release time and cost in the presence of repair. In this paper we present a generic framework based on the rate-based simulation technique to incorporate repair policies into finite failure non homogeneous Poisson process (NHPP) class of SRGMs. We describe a methodology to compute the failure intensity and reliability in the presence of repair, and apply it to four popular finite failure NHPP models. We also present an economic cost model which considers explicit repair in providing estimates of optimal release time and cost. We illustrate the potential of the framework to quantify the impact of the parameters of the repair policies on the above metrics using examples. Through these examples we discuss how the framework could be used to guide the allocation of resources to achieve the desired reliability target in a cost-effective manner.

[1]  Walter Freiberger,et al.  Statistical Computer Performance Evaluation , 1972 .

[2]  Harvey S. Koch,et al.  Optimal Release Time of Computer Software , 1983, IEEE Transactions on Software Engineering.

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

[4]  Saeed Maghsoodloo,et al.  A Cost Model for Determining the Optimal Number of Software Test Cases , 1989, IEEE Trans. Software Eng..

[5]  Z. Jelinski,et al.  Software reliability Research , 1972, Statistical Computer Performance Evaluation.

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

[7]  D. Coit System-reliability confidence-intervals for complex-systems with estimated component-reliability , 1997 .

[8]  Xiaolin Teng,et al.  Software cost model for quantifying the gain with considerations of random field environments , 2004, IEEE Transactions on Computers.

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

[10]  S. Yamada,et al.  Optimum software-release time considering an error-detection phenomenon during operation , 1990 .

[11]  Nozer D. Singpurwalla,et al.  Determining an Optimal Time Interval for Testing and Debugging Software , 1991, IEEE Trans. Software Eng..

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

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

[14]  Willa K. Ehrlich,et al.  Determining the cost of a stop-test decision (software reliability) , 1993, IEEE Software.

[15]  Sheldon M. Ross,et al.  Software Reliability: The Stopping Rule Problem , 1985, IEEE Transactions on Software Engineering.

[16]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs , 1988, IEEE Trans. Software Eng..

[17]  Michael R. Lyu,et al.  Optimal release time for software systems considering cost, testing-effort, and test efficiency , 2005, IEEE Transactions on Reliability.

[18]  D. S. Bai,et al.  Optimum software release policy with random life cycle , 1990 .

[19]  Yiu-Wing Leung,et al.  Optimum software release time with a given cost budget , 1992, J. Syst. Softw..

[20]  Ytzhak H. Levendel Reliability Analysis of Large Software Systems: Defect Data Modeling , 1990, IEEE Trans. Software Eng..

[21]  Min Xie,et al.  A Study of the Effect of Imperfect Debugging on Software Development Cost , 2003, IEEE Trans. Software Eng..

[22]  Hoang Pham,et al.  A Software Cost Model with Warranty and Risk Costs , 1999, IEEE Trans. Computers.

[23]  Carlo Batini,et al.  A layout algorithm for data flow diagrams , 1986, IEEE Transactions on Software Engineering.

[24]  Norman F. Schneidewind,et al.  Software Reliability Model with Optimal Selection of Failure Data , 1993, IEEE Trans. Software Eng..

[25]  Wilhelm Kremer,et al.  Birth-Death and Bug Counting , 1983, IEEE Transactions on Reliability.

[26]  YOSHIHIRO TOHMA,et al.  Structural Approach to the Estimation of the Number of Residual Software Faults Based on the Hyper-Geometric Distribution , 1989, IEEE Trans. Software Eng..

[27]  Shigeru Yamada,et al.  Cost-Reliability Optimal Release Policies for Software Systems , 1985, IEEE Transactions on Reliability.