Software Reliability: SEG3202 N. El Kadri
Software Reliability: SEG3202 N. El Kadri
SEG3202
N. El Kadri
Define SW reliability and analyze its role in
SW Systems.
Two main types of reliability models:
Time dependant
Time independent
Develop Reliability Characteristics based
on experimental data
Software Reliability and Software Design
2
Notion of Reliability
Aims at fault-free performance of software
systems
Software reliability goes hand-in-hand with
software verification
Input: collection of software test results
Goal: assess the validity of the software
system
Targets safety-critical software
3
Reliability Assessment
4
Role of Reliability in Software Engineering
5
Error, Fault and Failure
7
More Basic Notions
10
Characters of Software Reliability
Failures are primarily due to design faults.
Repairs are made by modifying the design to make it robust
against conditions that can trigger a failure.
There is no wear-out phenomena.
Software errors occur without warning.
Old code can exhibit an increasing failure rate as a function
of errors induced while making upgrades.
External environment conditions do not affect software
reliability.
Internal environmental conditions, such as insufficient memory
or inappropriate clock speeds do affect software reliability.
Reliability is not time dependent.
Failures occur when the logic path that contains an error is
executed.
Reliability growth is observed as errors are detected and
corrected. 11
Software Reliability Modeling
A software reliability
model specifies the
Idealized curve general form of the
dependence of the failure
process on the principal
factors that affect it:
- Time,
- fault introduction,
- fault removal,
- operational environment
14
Software Reliability Modeling
15
Basics of Reliability Theory
16
Basics of Reliability Theory
Given the pdf function f(t), the probability that the
component fails in a given time interval [t1,t2] is:
Example:
1. for the uniform pdf on the previous slide the probability of failure from
time 0 to 2 hours is 1/5
2. For the exponential pdf on the previous slide, the probability of failure
from time 0 to 2 hours is :
17
Basics of Reliability Theory
dt
18
Basics of Reliability Theory
19
Basics of Reliability Theory
E(T)
20
Basics of Reliability Theory
21
Software Reliability Growth Problem
In software we want to fix the problem, i.e., to have a
lower probability of failure after a repair
or having longer
The quality of the product improves over time, and we
talk about reliability growth
We need a model for reliability change over time
22
Taxonomy of Software Reliability Models
23
Time Between Failure Reliability Models
24
Time Between Failure Reliability Models:
Jelinsky & Moranda, 1972
Failures occur at some discrete time moments t1, t2,
ti are independent exponential distributed random variables
25
Time Between Failure Reliability Models:
Jelinsky & Moranda, 1972
After n failures the mean Time To Failure (MTTF) is
computed as follows:
Objective:
26
Time Between Failure Reliability Models:
Jelinsky & Moranda, 1972
Objective:
27
Jelinsky & Moranda Model: Example
Estimated MTTF:
28
Jelinski-Moranda Model
Assumptions:
The software has N0 faults at the beginning of the test.
Each of the faults is independent and all faults will
cause a failure during testing.
The repair process is instantaneous and perfect, i.e., the
time to remove the fault is negligible, new faults will
not be introduced during fault removal.
29
Goel-Okumoto Imperfect
Debugging Reliability Model
This model extends the basic JM model by adding an
assumption:
1. A fault is removed with probability p whenever a
failure occurs.
The failure rate function of the base JM model with
imperfect debugging at the ith failure interval
becomes
(ti) = [N- p( i 1)], i =1, 2,,N
The reliability function is
R(ti) = e - (N-p(i-1))ti
30
Failure Counting Reliability Models
31
Non-homogeneous Poisson
process (NHPP)
Non-homogeneous Poisson process
(NHPP):
This group of models provides an
analytical framework for describing the
software failure phenomenon during
testing.
The main issue in the NHPP model is to
estimate the mean value function of the
cumulative number of failures experienced
up to a certain time point.
32
Goel-Okumoto NHPP Reliability Model
Model:
N(t): Cumulative
Number of Failures at
time t
N(t) is as a Poisson
process with a time-
dependent failure rate
File dependent rate
follows an exponential
distribution
33
Goel-Okumoto NHPP Reliability Model
In this equation:
m(t) is expected # of Model:
failures over time
(a.k.a. the cdf F(t))
35