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
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.
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 first 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 Identifier 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 firms expect profit margins will continue for
long unless and until they come up with innovative mod-
ifications 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
firms. These advantages include fast deliveries, early revenue
generation, and increased market life of the product.
0018-9529/$31.00 © 2012 IEEE