2. • I contrast t R l i h which models th d f t pattern of
In t t to Rayleigh, hi h d l the defect tt f
the entire development process, reliability growth models
are usually based on data from the formal testing phases.
• Indeed it makes more sense to apply these models during
the final testing phase when development is virtually
complete,
complete especially when the testing is customer
oriented.
• During such post‐development testing, when defects are
identified d fixed, the ft
id tifi d and fi d th software b becomes more stable,
t bl
and reliability grows over time. Therefore models that
address such a process are called
.
GRAA
3. • They are classified i
h l ifi d into two classes. They are,
l h
– Time between Failure Model
• the variable under study is the time between failures
• Mean time to next failure is usually the parameter to
be i
b estimated f the model.
d for h d l
– Fault Count Model
• the variable criterion i the number of f l or
h i bl i i is h b f faults
failures (or normalized rate) in a specified time
interval.
• The number of remaining defects or failures is the key
parameter to be estimated from this class of models.
GRAA
4. • There are N unknown software faults
g
at the start of testing
• Failures occur randomly
• All f l contribute equally to f il
faults ib ll failure
• Fix time is negligibly small
g g y
• Fix is perfect for each fault
GRAA
5. • J li ki M
Jelinski‐Moranda (J M) M d l
d (J‐M) Model
– Assumes random failures, perfect zero time fixes, all
faults equally bad
f l ll b d
• Littlewood Models
– Like J‐M model, but assumes bigger faults
found first
• Goel‐Okumoto Imperfect Debugging Model
– Like J‐M model, but with bad fixes possible
Like J M model, but with bad fixes possible
GRAA
6. ( )
• One of the earliest model. (1972)
• The software product’s failure rate improves by the same
amount at each fix.
• The hazard function at time ti, the time between the (i‐1)st
and ith failures, is given
• Where N is the number of software defects at the beginning
of testing and φ is a proportionality constant.
Note:
N t
Hazard function is constant between failures but decreases in
steps of φ following the removal of each fault. Therefore, as each fault is
removed, the time between failures is expected to be longer.
GRAA
7. • Similar to J‐M Model, except it assumes that
y
different faults have different sizes, thereby
contributing unequally to failures. (1981)
• Larger sized faults tend to be detected and
Larger‐sized faults tend to be detected and
fixed earlier.
• This concept makes the model assumption
more realistic.
more realistic.
GRAA
8. • J MM d l
J‐M Model assumes perfect debugging. But this is not
f t d b i B t thi i t
possible always.
• In the process of fixing a defect new defects may be
In the process of fixing a defect, new defects may be
injected. Indeed, defect fix activities are known to be
error‐prone.
• Hazard function is,
• Where N is the number of software defects at the
beginning of testing, φ is a proportionality constant, p
is the probability of imperfect debugging andλ is the
failure rate per fault.
GRAA
9. • Testing intervals are independent of each
other
• Testing during intervals is reasonably
homogeneous
• Number of defects detected is independent
of each other
GRAA
10. • G l Ok
Goel‐Okumoto N h
t Non‐homogeneous Poisson Process
P i P
Model (NHPP)
– # of failures in a time period, exponential failure rate (i.e.
# of failures in a time period, exponential failure rate (i.e.
the exponential model!)
• Musa‐Okumoto Logarithmic Poisson Execution Time
Model
M d l
– Like NHPP, but later fixes have less effect on reliability
• The Delayed S and Inflection S Models
The Delayed S and Inflection S Models
– Delayed S: Recognizes time between failure detection and
fix
– Inflection S: As failures are detected, they reveal more
failures
GRAA
11. • This model is concerned with modelling the
number of failures observed in given testing
intervals. (1979)
• They proposed that the time‐dependent failure rate
follows an exponential distribution.
e ode s,
• The model is,
[m(t )] y − m (t )
P{N(t)=y}= e , y = 0,1,2...
y!
GRAA