758 IEEE TRANSACTIONS ON RELIABILITY, VOL. 61, NO. 3, SEPTEMBER 2012 Two Dimensional Multi-Release Software Reliability Modeling and Optimal Release Planning P. K. Kapur, H. Pham, Fellow, IEEE, Anu G. Aggarwal, and Gurjeet Kaur Abstract—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 reli- ability 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 rms is to plan the release of the upgraded version. When different versions of the software are to be released, then the rm 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. Index Terms—Multi-release planning, software reliability growth model, two dimensional software reliability growth model. ACRONYMS ANSI American National Standards Institute GA Genetic Algorithm NLR Non Linear Regression NHPP Non Homogeneous Poisson Process SPSS Statistical Package for Social Sciences SRGM Software Reliability Growth Model 1-D;1-R One-dimension one release software reliability SRGMs growth models 2-D;M-R Two Dimensional multi-release software Manuscript received May 31, 2011; revised February 13, 2012 and April 04, 2012; accepted April 20, 2012. Date of publication July 13, 2012; date of current version August 28, 2012. The research work presented in this paper is supported by grant to the rst author from Department of Science and Technology (DST) Grant No SR/S4/MS:600/09, India. Associate Editor: C. Smidts. P. K. Kapur is with the Amity International Business School, Amity Univer- sity, Noida, UP, India. H. Pham is with the Rutgers University, Piscataway, NJ 08854 USA. A. G. Aggarwal and G. Kaur are with the Department of Operational Re- search, University of Delhi, Delhi, India. Digital Object Identier 10.1109/TR.2012.2207531 SRGMs reliability growth models SBX Simulated binary crossover MSE Mean Square Error NOTATIONS Initial number of faults. Fault detection rate per remaining fault. Logistic learning factor Index counter for release, Initial fault content for ith release Fault detection rate per remaining fault for ith release. Logistic learning factor for the ith release. Testing time. Resources. Resource elasticity to testing time Cumulative number of faults removed by time s and with the usage of resources u. Cost incurred on removing a fault during testing phase of the nth release. Cost incurred on removing a fault after the delivery of the nth release of software system. Testing cost per unit testing time and resources. Total cost of testing of the nth release. I. INTRODUCTION N O longer can rms expect prot margins will continue for long unless and until they come up with innovative mod- ications in their products. With the world becoming a global village, and technology reaching the remotest corner of each country, competition has opened up like never before. Therefore, as new projects are launched, a strategy to meet the challenges from competitors is needed. Software develop- ment is a time consuming, costly process with high quality tar- gets. The most effective way of handling software development is to develop software in phases, and to offer the complete func- tionality in multiple releases. The development of software in multiple releases provides various advantages to the developing rms. These advantages include fast deliveries, early revenue generation, and increased market life of the product. 0018-9529/$31.00 © 2012 IEEE