Classification of Software Reliability Models To Improve The Reliability of Software
Classification of Software Reliability Models To Improve The Reliability of Software
Classification of Software Reliability Models To Improve The Reliability of Software
Indian Journal of Science and Technology, Vol 8(29), DOI: 10.17485/ijst/2015/v8i29/85287, November 2015 ISSN (Online) : 0974-5645
[email protected]
2
Government Arts College (Men), Nandanam, Chennai - 600035, Tamil Nadu, India; [email protected]
Abstract
Background/Objectives: The main objective is to present a classification of reliability models that would be useful in
determining which of the existing model to use in a given software development environment. Methods/Statistical
Analysis: In this research importance is given on comparison of existing software reliability models. The analytical
models are mostly useful in estimating and monitoring reliability. The models can help software testing/debugging
managers to make predictions about the anticipated future reliability of software under growth. Findings: This paper
provides a detailed study of existing software reliability models which claim to progress software quality through efficient
determination of software faults. Failure behavior of the software as predicted by these models has important implication
in understanding the performance of the software and its improvement. One unique part of this paper is that we do not
add any new models to the already large collection of models; rather we give importance to the taxonomy of models
used in the software development process. Application/Improvements: The models are supportive for the software
practitioners to master the schedule of the projects, the performance of the programmers and to improve the reliability
of software system.
1. Introduction Over the past 30 years, many SRGMs have been
roposed for estimating reliability growth of products
p
This paper highlights various Software Reliability Growth during the software development process2. Each model
Models. SRGMs are statistical models which can be used seems to work well with a particular data set, but no model
to make predictions about a software system’s failure appeared to do well for all data sets. Many researchers
rate, given the failure history behavior of the system. In like Musa et al.3 have shown that some families of models
practice such models are applied during the final test- have, in general, certain characteristics that are consid-
ing phase when the development is virtually completed. ered better than others; for example, the geometric family
Due to post-development testing, failures are identified of models tends to have better predictive quality than
and fixed in advance, the software becomes more stable other models.
and the reliability of software increases with time. SRGMs In4 published a paper describing a non-homogeneous
can be broadly categorized into two types (Pham, 2006). Poisson process model from the finite exponential class
Deterministic one is used to study the number of dis- of models. This model was one of the first NHPP models
tinct operators and operands and machine instructions proposed. This model predicted well on a unique data set.
in the program. Probabilistic one represents the failure In5 proposed a NHPP based SRGM to describe vari-
occurrence and fault removal phenomenon of the testing ous software failure/reliability curves. Both testing efforts
process as probabilistic events with respect to time and and time dependent fault detection rate are considered for
testing effort1. software reliability modeling. The applicability of proposed
2 Vol 8 (29) | November 2015 | www.indjst.org Indian Journal of Science and Technology
G. Gayathry and R. Thirumalai Selvi
2.1.2 Schick and Wolverton (SW) Model 2.2 Fault Count Models
The model is based on the assumptions of the JM model 2.2.1 Musa Execution Time Model
except that the hazard function is assumed to be propor-
In this model the reliability of software is analyzed based
tional to the current fault content of the program as well
on execution time. The hazard function for this model is
as to the time elapsed is since the last failure10 is given:
provided as:
Z (t i ) = ∅ N − (i − 1) t i Z ( τ ) = ∅ f ( N − nc )
The hazard rate is linear with time within each failure Where τ is the execution time, f is the linear execution
interval. A modification of the above model is proposed frequency, Ø is a proportionally constant fault exposure
in11 whereby the hazard function is assumed to be ratio and nc is the corrected number of faults.
parabolic in test time and is given by the function:
2.2.2 Goel-Okumoto NHPP Model
Z (t i ) = ∅ N − (i − 1) (−at i 2 + bt i + c)
It is assumed that at random interval software system is
Where a, b and c are defined as constant. This function con- subject to failures due to the faults in the present system.
sists of two components, the first one is the hazard function Let N(t) is the cumulative number of failures identified in
of the JM model and the second one indicates that the reason time t then N(t) can be modeled as NHPP model for the
for failure occurrence increases rapidly as the test time accu- following.
mulates within a testing interval. At failure times (ti = 0), the
{ } ( )
P N ( t ) = y = m ( t ) e − m( t ) , y = 0, 1, 2.,
y
Vol 8 (29) | November 2015 | www.indjst.org Indian Journal of Science and Technology 3
Classification of Software Reliability Models to Improve the Reliability of Software
2.2.4 IBM Binomial and Poisson Model seeded and then the program is tested for a particular time
In these models, the fault detection rate is considered as interval. The number of original indigenous faults can be
a discrete process, and it follows a poisson or binomial estimated from the number of indigenous and seeded
distribution. It is assumed that the software system is faults which are not taken into account at the time of
developed and tested incrementally. These models can be testing. These models are also known as a tagging model
applied to both module and system level testing. since a given fault is tagged as seeded or indigenous.
4 Vol 8 (29) | November 2015 | www.indjst.org Indian Journal of Science and Technology
G. Gayathry and R. Thirumalai Selvi
reliability models are reviewed. Above analytical models 8. Goel AL. Software reliability models: Assumptions,
are primarily useful in estimating and monitoring and it Limitations and Applicability. IEEE Transaction on Software
is viewed as a measure of estimation of software reliability Engineering. 1985; SE-11(12):1411–23.
9. Jelinski Z, Moranda P. Software Reliability Research, In
and to enhance the quality of software.
Statistical Computer Performance evaluation. Freiberger
W, Editor. New York: Academic; 1972. p. 465–84.
4. References 10. Schick GJ, Wolverton RW. An analysis of competing soft-
ware reliability models. IEEE Transaction on Software
1. Lyu MR. Handbook of software reliability engineering. NY: Engineering. 1978; SE-4(2):104–20.
McGraw-Hill/IEEE Computer Society Press; 1996. 11. Schick GJ, Wolverton RW. An analysis of component soft-
2. Zhang X, Pham H. An analysis of factors affecting soft- ware reliability models. IEEE Transaction on Software
ware reliability. The Journal of Systems and Software. 2000; Engineering. 1982; SE-R:359–71.
50(1):43–56. 12. Goel AL, Okumoto K. An Analysis of recurrent software
3. Musa JD, Iannino A, Okumoto K. Software reliability: failure in a real-time control system. Proc ACM Annual
Tech Conf, ACM; Washington, DC. 1978. p. 496–500.
measurement, prediction, and application. New York:
13. Chaurasia PK. Classification of Software Reliability Models.
McGraw-Hill Publication; 1987.
IJARCSSE. 2014 Aug; 4(8):1084–91.
4. Goel AL, Okumoto K. A time-dependent error detection
14. Shooman ML. Probabilistic models for software reliability
rate model for software reliability and other performance prediction. In: Freiberger W, editor. Statistical Computer
measure. IEEE Transaction on Reliability. 1979; Performance Evaluation. New York: Academic; 1972.
R-28(3):206–11. p. 485–502.
5. Kapur PK et al. Flexible software reliability growth model 15. Musa JD. A theory of software reliability and its applica-
with testing effort dependent learning process. Applied tion. IEEE Transaction on software engineering. 1971;
Mathematical Modeling. 2008; 32(7):1298–307. SE-1:312–27.
6. Quadri SM, Ahmad N, Farooq SU. Software reliability 16. Lipow M. Estimation of software package residual
growth modeling with generalized exponential test- errors. TRW Redondo Beach, CA: Software Series. 1972;
ing-effort and optimal software release policy. Global Rep-SS:359–71.
Journal of Computer Science and Technology. 2011; 17. Nelson E. Estimating Software Reliability from test data.
11(2):27–42. Micro electron. 1978; 17:67–74.
18. Ramamurthy CV, Bastani FB. Software reliability: Status and
7. Huang CY, Kuo SY. Analysis of incorporating testing-
perspective. IEEE Transaction on Software Engineering.
effort function into software reliability modeling. IEEE
1982 Jul; 8(4):359–71.
Transaction on Reliability. 1979; 51(3):206–11.
Vol 8 (29) | November 2015 | www.indjst.org Indian Journal of Science and Technology 5