Two Dimensional Multi-Release Software Reliability Modeling and Optimal Release Planning - Kapur, P. K.; Pham, H.; Aggarwal, A. G.; Kaur, G. (IEEE transactions on reliability, 2012)
Long-lived software systems evolve through new product releases, which involve up-gradation of previous released versions of the software in the market. But, upgrades in software lead to an increase in the fault content. Thus, for modeling the reliability growth of software with multiple releases, we must consider the failures of the upcoming upgraded release, and the failures that were not debugged in the previous release. Based on this idea, this paper proposes a mathematical modeling framework for multiple releases of software products. The proposed model takes into consideration the combined effect of schedule pressure and resource limitations using a Cobb Douglas production function in modeling the failure process using a software reliability growth model. The model developed is validated on a four release failure data set. Another major concern for the software development firms is to plan the release of the upgraded version. When different versions of the software are to be released, then the firm plans the release on the basis of testing progress of the new code, as well as the bugs reported during the operational phase of the previous version. In this paper, we formulate an optimal release planning problem which minimizes the cost of testing of the release that is to be brought into market under the constraint of removing a desired proportion of faults from the current release. The problem is illustrated using a numerical example, and is solved using a genetic algorithm.