Software Reliability

guineanhillAI and Robotics

Oct 20, 2013 (3 years and 10 months ago)

91 views

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
.