People use software and sometime software fails.so they try to quantify software reliability and try to understand how and why it fails.For this purpose so many software Reliability models have been developed to estimate the defects in the software while delivering it to the customer.Till now so many software Reliability models have been developed,but main issue is that it remain largely unsolved that how to calculate software reliability efficiently.In everycircumstance we cannotuse one model because no single model can completely represent all features.This paper describes the circumstances and criteria under which particular model can be selected.
An experimental study in using natural admixture as an alternative for chemic...
Optimal Selection of Software Reliability Growth Model-A Study
1. Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426
NITTTR, Chandigarh EDIT -2015 100
Optimal Selection of Software Reliability
Growth Model-A Study
1
Monika Sharma, 2
Dalbir Kaur
1
Asst. Professor, 2
Student
1,2
UIET Panjab University, Chandigarh
monikahsp@gmail.com, dalbir1209614@gmail.com
Abstract—People use software and sometime software fails.so
they try to quantify software reliability and try to understand
how and why it fails.For this purpose so many software
Reliability models have been developed to estimate the defects
in the software while delivering it to the customer.Till now so
many software Reliability models have been developed,but
main issue is that it remain largely unsolved that how to
calculate software reliability efficiently.In everycircumstance
we cannotuse one model because no single model can
completely represent all features.This paper describes the
circumstances and criteria under which particular model can
be selected.
Keywords—software reliability; SRGM; model
criteria;survey;comparative analysis; performance evaluation.
INTRODUCTION
Software Reliability is an important concept in the field of
Software engineering.Software Reliability helps to
attribute software maintainability together with
performance,quality and functionality of software
etc.Software Reliability is defined as a probability at which
a system would operate without failure under the
conditions in a given environment for a given period of
time. In other words we can say, Software Reliability can
be defined as a measure of how well the users think the
system operates according to its specifications. There are
followingtwo uncertainties which render any inaccurate
reliability measurement:
(a)Uncertainty: Some time the customer doesn’t know
about the proper usability of system.
(b)Uncertainty: Some time we don’t know about the fault
removal effects.
Much time we are not able to sure about the corrections
that may or may not be complete and successful after the
fixing of a fault.Some time it introduced other faults. Some
time we have lack of knowledge about the improvement to
IFT(inter failure time) that will be occur after the faults are
properly fixed. Software Reliability Model is based mostly
on data from the testing phase, after development is
virtually complete. The basic “goal” of Reliability Theory
is to predict when the system will fail.
e.g. How can we use the existing data of time between
failures {t1, t2, - - - -, tn} used for next failure to predict
time, ti , where i>n? (The data from testing provide a
fairly good indication of reliability)
Due to the nature of software, no general accepted
mechanisms exist to predict software reliability.We need
importantempirical observation and experience.Good
engineering methods can largely improve software
reliability.To improve and measure software
reliability,software testing plays an important role.
Databases with software failure rates are available but
numbers should be used with caution and adjusted based
on observationand experience.The testing teams or
programmer used so many software fault removal and
detection methods and techniques so that highly reliable
software system can be achieve. SGRM (Software
Reliability Growth Model) play an important role for
applying these methods and techniques because SGRM
help in providing useful knowledge and information for
tester and developers during the debugging phase for
predict and estimate software reliability of system under
test and they also help during software operational phase
for measure the failure data.For a software to operate
accurately and reliability it should undergo testing and
debugging.It can be consuming as well as costly process
and the manager want to know accurate knowledge about
the process result that how it help in grow software
reliability so that their budgets and projects are effectively
manage. If their budget and projects are effectively
managed,then the manager is hoped that reliability of
software will grow very well.Various SGRM can be used
to make more reliable software.
THE CONCEPT OF RELIABILITY GROWTH
When the system is tested so that faults can be removed to
change the reliability of system, we can use a mathematical
natured model that is called growth model.It is used for
measure reliability of system by extrapolating from used
current data which is depending on the testing
procedure.The improvement in software reliability is thatit
gives results from correcting faults in the software. No
single model is universally applicable.Applications are not
independent on reliability growth. Various growth models
fit on different observed data.so that the model is selected
according to data that is best fit on.
SGRM
By the study of software reliability Models we can say that
failure which is a random process are result of two
processes-first is fault introduction and second is fault
activation which is occur after input state selection. By
nature it is random process. Various Software Reliability
Growth models have been developed and the most
appropriate model should be chosen by fitting observed
reliability may be described as a form of probability
distribution of random process value in time at each point.
Failureof probability distribution measurement of one of
these models plays an important role in the development of
SGRMs.So we can say that when we select the input state
SRGM is activated and this is random natured process. In
this paper we will describe following software reliability
Models which will be explain below.
Goel-Okumoto Imperfect Debugging Model
2. Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426
101 NITTTR, Chandigarh EDIT-2015
Goel –Okumoto Nonhomogeneous Poisson Model
Musa–Okumoto Logarithmic Poisson Execution
Jelinski Moranda Model
Delayed S Model
Inflection S Model
Goel-Okumoto Imperfect Debugging model
If weassume perfect debugging, then in this model if we
fix a defect, it may inject new defects. So it is called error-
prone because in this process activation of fix defect
occurs.
Goel-Okumotoovercomes the limitations of this
assumption because they purposed it as a debugging model
which is imperfect. The hazard function of the Goel-
Okumoto model during time interval from the (m-1)st and
the nth failures is given-
( ) = [ − ( − 1)] (1)
where X is Fault number at time when testing start.
pis probability function of imperfect debugging.
λ- Rate of failure at each fault.
Mean value Function-
( ) = (1 – [ − ])
k> 0, λ > 0 (2)
Goel-Okumoto Nonhomogeneous Poisson Model
When the more concerned are given to the modeling of the
observation to calculate how much failure in a given
interval during testing is called NHPP(Non Homogeneous
Poisson process) model. SoGoel and okumoto purpose the
observation of the number of failure in a cumulative
manner at time t,so X(t) can be modeled as a non-
homogenous Poisson process(NHPP), because in which
Poisson with failure rate are time dependent. So Goel and
okumoto called it is a type of exponential distribution of
the failure rate which is time dependent in nature.
Mean value function-
( ) = ( 1 – [ −〖 〗 ]) (3)
k> 0, λ> 0, > 0
Where m(t) is observed failure which is expected at time
t.Lambda density of failure function, k is the expected
failure number and c is the detection rate of fault at each
fault. So we can say that NHPP(non-homogenous Poisson
process) is a straightforward application of the exponential
form of model.
Musa–Okumoto Logarithmic Poisson Execution Time
Model
Similar to the NHPP modelthe Musa-Okumoto model is
also assumed as a nonhomogeneous Poisson process
because in this model at a certain time the number of
failures is observed. So it has a different value of MVF
(mean value function).
In musa-okumoto model one assumption is present that is
earlier fixes have greater effect on the reliability of
software than later ones. Two main components exist in
this model:
Calendar time
Execution time
The mean value function-
( ) = ∗ (1 + ) (4)
k> 0, λ> 0
λ is failure rate initially
k is reduction rate of each failure in the normalized
intensity.
Jelinski Moranda Model
Many times we see that if we repair an error, it does not
give satisfactory performance. It means to say that
reliability of software does not improve to a specified level
and by a constant amount. So we can say that umber of
error present in a system is assumed to be proportional to
fixing of an error due to which there is an improvement in
the reliability. In software reliability research J-M model is
earliest one. So it is type of a model in which time between
failure exist. So whenever testing start it assumes X
software faults .The nature of failure is random and for
cause testing failure, the contribution of all faults is equal.
It considers that for each failure there is perfect fix and
time for fix is negligible. Each fi increase software failure
rate by same amount. The hazard function at time mi, the
time between the (m-1)st and nth failure is given by
( ) = ℎ[ − ( − 1)] (5)
Where X - defect number of software when testing start
h is constant of proportionality
Mean value function- ( ) = 0 [1 − (– ℎ )] (6)
The Delayed Model
In 1983, Yamada argue about defect detection nature of
testing process. According to him, it is also defect isolation
with defect detection. So Delayed S shaped RG model is
developed for such a process in which growth curve is
observed. It is observed by cumulative number of the
defects which is detected is S shaped. It is also a form of
NHPP with having different value of mean function.
Mean value function-
( ) = (1 − (1 + ) ∗ [− ]) (7)
k>0, λ>0
Where time is t
λ is rate of error detection
K is the number of total defects
Inflection S Model
After the development of delayed S shaped Model Ohba in
1984 proposed one more S shaped Model that is called as
inflection S reliability GM.He describe that this model
have mutual dependency between detected defects which
explain the phenomena of failure detection.So in this
model if it detects more failure, it will cause more and
more undetected failure.Based on the NHPP its mean value
function is
( ) = ∗
( [– ]) )
( ( )∗ [ ]
(8)
ψ( r) =
( )
(9)
k> 0, λ> 0, > 0
Where time is t
Lambdais rateof error detection
m is the inflection factor
k is number oftotal defects
At the beginning of period when testing is start at that time
testing is start because at that time tester become familiar
with the system that time the inflection model and delayed
model consider as accounting for the period of learning.
There are following Models assumptions-
3. Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426
NITTTR, Chandigarh EDIT -2015 102
When testing is start there are X software faults which is
unknown.
The failure is Random in nature –There is independent
time in between failure.
For cause a failure the contribution of all faults are equal.
There is negligible time for fix.
For each failure fixes are perfect; during correction no new
faults are introduced.
CRITERIA FOR MODEL EVALUTION
Applicability: For software product which are all different,
there is applicability of Model’s degree for e.g.- structure,
function, size.
Capability: In the planning s/w project which is under
development model is able to estimate the satisfactory
accurate which is needed by software engineer, manager
and user.
AssumptionsQuality:From the viewpoint of consistency
which is logically follow the plausibility of assumptions
and model can easily met assumptions.
Predictive validity: For the specified period of time model
is capable to predict the failure behaves and total number
of defects which is based on Model’s current data.
Simplicity : In following aspects model should be simple
that is-
For collect data it should be inexpensive and simple
Concept wise simple and doesn’t need background with
extensive mathematical form for development of the
software.
V.COMPARISION OF SGRM MODELS
COMPARISIONSUMMARYTABLE FOR SGRM MODELS
Name of Model
Type of
Model MVF (mean value function) Model selection criteria Limitations
1.Goel-Okumoto
Imperfect Debugging
model-
Concave ( ) = (1 – [ − ])
K > 0, λ> 0
If failure detection is an
exponentially decaying rate
function.
Injection of new
defect after fixing
an old defect. It is
an error prone
activity.
2.Goel-Okumoto
Nonhomogeneous
Poisson Model-
Concave
( ) = ( 1 – [ − ])
,
k> 0, λ> 0, > 0
Ifat the beginning the
failure intensity of software
slightly increases and then
start to decrease.
Exponential
Distribution
followed by rate of
failure.
3.Musa–Okumoto
Logarithmic Poisson
Execution Time Model
Concave ( ) = ∗ (1 + )
k> 0, λ> 0
If failure rate reduction is
due to repair action which
is follow early failure.
Instruction
execution time is
smaller with respect
to execution time in
between failure.
4.Jelinski Moranda
Model
Concave ( ) = 0 [1 − (– ℎ )]
If the current fault data or
content of the program is
proportional to the S/W
failure.
The failure is
random in nature
and increment in
reliability is in
irregular manner.
5.The Delayed S Model- S shaped ( ) = (1 − (1 + ) ∗ [− ])
k>0,λ>0
If the failure rate initially
increase and later
exponentially decays.
Introduction of new
independent faults
during debugging
Process.
6.Inflection S model S shaped
( ) = k∗
[– ]
( ) ∗ [ ]
, ( ) =
k> 0, λ> 0, > 0
Ifthe mutual dependency
in between faults of a
program and due to more
detection of failure, it cause
more detection of
undetected failure.
Some faults are
removed after then
other faults are
detected.
CONCLUSION
This paper has attempted to lay down different SGRMs
(softwareReliability Growth models).With the help of
SGRMs models a characterization of the software
development process is done and practitioners can easily
make predictions about the reliability of the software in
future which is under development. Some models work
better than others depending on the application area and
operating characteristics.We discuss about six SGRMs
model in this paper.No single model is universally
applicable. Models are applied according to different
conditions and environment in which they fit. A
comparison table is provided for detailed summary about
models.In the table, modeltypes,mean value functions
(MVF), their selection criteria and limitations are
discussed. Every model has some limitations which can be
improved.So it can beconcluded that an appropriate model
is selected according to some selection criteria under a
particular environmental condition.
REFERENCES
1) Goel, A.L. “Software Reliability Models: Assumptions,Limitations,
and Applicability,” IEEE Trans. Software Engg. Vol SE-11, No 12,
1985 Dec, pp. 1411-1423.
2) Mohd. Anjum et. al. , Analysis and Ranking of Software Reliability
Models Based on Weighted Criteria Value, I.J.Information
Technology and Computer Science, 2013, 02, pp. 1-14.
4. Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426
103 NITTTR, Chandigarh EDIT-2015
3) Shanmugam, Latha, and Lilly Florence. "A comparison of parameter
best estimation method for software reliability models." International
Journal of Software Engineering & Applications 3, no. 5 (2012): pp.
91-102.
4) Musa, John D., and Kazuhira Okumoto. "A logarithmic Poisson
execution time model for software reliability measurement." In
Proceedings of the 7th international conference on Software
engineering,. IEEE Press, 1984,pp. 230-238.
5) Asad, Ch Ali, Muhammad Irfan Ullah, and M. J. Ur-Rehman. "An
approach for software reliability model selection." In Computer
Software and Applications Conference, 2004. COMPSAC 2004.
Proceedings of the 28th Annual International,IEEE, 2004, pp. 534-
539.
6) Ohba, Mitsuru. "Software reliability analysis models." IBM Journal
of research and Development 28, no. 4 (1984): pp. 428-443.
7) Schneidewind, Norman F. "Software reliability model with optimal
selection of failure data." Software Engineering, IEEE Transactions
on 19, no. 11 (1993): pp.1095-1104.
8) Malaiya, Yashawant K., Naixin Li, Jim Bieman, Rick Karcich, and
Bob Skibbe. "The relationship between test coverage and reliability."
In Software Reliability Engineering, 1994. Proceedings., 5th
International Symposium on. IEEE, 1994,, pp. 186-195.
9) Yamada, Shigeru, Mitsuru Ohba, and Shunji Osaki. "S-shaped
reliability growth modeling for software error detection." Reliability,
IEEE Transactions on 32, no. 5 (1983): pp.475-484.
10) Gupta, Ajay, Digvijay Choudhary, and Suneet Saxena. "Software
Reliability Estimation using Yamada Delayed S Shaped Model under
Imperfect Debugging and Time Lag‖." International Journal of
Computer Applications 23, no. 7 (2011): pp.0975-0982.
11) Lyu, Michael R. Handbook of software reliability engineering. Vol.
222. CA: IEEE computer society press, 1996.