Software Reliability
Nikta
Naseri
Javier
Vazquez
Software Reliability
•
Software reliability is the probability of failure

free operation of a computer program for a
specified time in a specified environment [1,
p. 15].
Errors to Failures
Software Reliability
•
A research study has shown that professional
programmers average six software defects for
every 1000 lines of code written
[2, p. 476
]
.
Errors in the Code
Degrees of Severity
•
Minor
•
Major
•
Critical
•
Catastrophic
Degrees of Severity
•
Minor
•
Major
•
Critical
•
Catastrophic
Degrees of Severity
•
Minor
•
Major
•
Critical
•
Catastrophic
History
•
“Software Crisis” was
introduced in 1968 at
Garmisch
, Germany.
•
Jelinski
and
Moranda
model appears in 1972.
M
odels
•
A model is a statistical representation that
predicts the reliability of a software.
•
The reliability function:
M
odels
•
A good software reliability model has several
important characteristics. It
–
Gives good predictions of future failure behavior
–
Computes useful quantities
–
Is simple
–
Is widely applicable
–
Is based on sound assumptions [2, pp. 19, 20
]
M
odels
•
The majority of the models capture their data
in the testing phase.
Software Reliability Models
•
SRGM
Software Reliability Growth
Model
•
NHPP
Non

homogeneous Poisson
Process Models
Software Reliability Growth Models
•
There are several
models:
–
Coutinho
model
–
De

Eutrophication model
–
Jelinski

Moranda
model
–
Schick

Wolverton
model
–
Wall and Ferguson model
–
Littlewood
Bug
Counting model
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Steps for use SRGM
Disadvantage of SRGMs
•
The main disadvantage of these conventional
SRGMs is the realistic presence of imperfect
debugging.
•
A random process whose probability
distribution varies with the time is called non

homogeneous [1, p. 11].
Non

homogeneous Poisson
Process model
•
Goel

Okumoto
(G

O
)
•
P

N

Z model
•
Delayed
S

shaped SRGM
•
Inflection S

shaped SRGM
•
HD/G

O model
•
Yamamda
exponential
•
Yamada
exponendial
•
Yamada Rayleigh
•
Yamada imperfect debugging model
•
Yamadaimperfect
debugging model(2)
•
New model P

Z
•
P

Z
model
Non

homogeneous Poisson
Process model
NHPP
Goel

Okumoto
(G

O)
•
Also called exponential mode
•
Concave shape
m(t)
Expected number of errors detected by time
t (“mean value function”)
a(t)
Error content function
i.e.,
total number of errors in the software including
the initial and introduced errors at time
t
b(t)
Error detection rate per error at time
t
[3, p. 180]
NHPP P

N

Z
•
Assumes introduction rate is a linear function
of testing time and the fault detection rate is
non

decreasing with an inflexion S

shaped
model
m(t)
Expected number of errors detected by time
t (“mean value function”)
a(t)
Error content function
i.e.,
total number of errors in the software including
the initial and introduced errors at time
t
b(t)
Error detection rate per error at time
t
[3, p. 180]
Model Selection
•
The best way to select between the NHPP
models is getting the values of SSE, MSE, AIC
and RRR. From these values we pick the
smaller, the smaller one it is that better fits
.
Example
Reliability Metrics
Relevance, Experience,
Correctness, Practicality &
Feasibility
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Reliability Metrics
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Reliability Metrics
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Reliability Metrics
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Reliability Metrics
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Reliability Metrics
•
Analytic Hierarchy Process (AHP) method
–
Software reliability metrics selecting method based on AHP
Prediction
1.
Benchmarking
•
Previous work
•
Model based on software process (MBPS)
Prediction
•
Prediction model
Prediction
2. General Regression Neural Network (GRNN)
•
Software Reliability prediction based on GRNN
Step1: Collect test data
Step2: Probability distribution functions should determine
for failure time data and test coverage data
Step3:Extend the data
Step4: Establish GRNN
Step5: Train GRNN
Step6: Make prediction based on trained GRNN
Project Management
Useful info
•
A survey conducted in the late
1990’s
by the
American Society for Quality reported that
only 4% of the participants responded
positively when asked if they could use a
software reliability model
[3, p. 5]
,
[4, p. 73]
.
Pros & Cons
•
Advantages
–
Supports decision
making
–
Minimize negative
effects over the project
–
Quantitative results
–
Measurement
–
Improving
•
Disadvantage
–
Complexity
Conclusion
•
T
he
software reliability is good for the
organizations and to their clients and/or
users.
References
•
[
1]
A. I. K. O. John D.
Mulsa
, Software
Reliability, McGraw Hill, 1990.
•
[2]
H. Pham, "Software reliability and cost
models: Perspectives, comparison, and
practice," vol. 149, no. 3, 2003.
•
[3]
H. Pham, System software reliability,
London: Springer, 2006.
•
[4]
X. Li, "Software reliability measurement : a
survey," 2002
.
Comments 0
Log in to post a comment