2. Time Series Models
0 we discuss a general time series model, called Autoregressive Integrated
Moving Average (ARIMA),
0 These models was studied by Box and Jenkins
Gurbakash Phonsa
3. ARIMA Models
0 The ARIMA models of order (p,d,q) can be expressed as follows:
----------- First
where
δ= mean of zt , t = 0,1,2,...
zt = observed value at time t
zt = the expected value of zt
at = zt - zt
= white noise at the tth time period; its value follows the normal distribution with mean
0
p = the order number of autoregression (AR)
d = the value of difference order of original data
q = the order number of moving average (MA)
Gurbakash Phonsa
4. Time series is stationary
0 Assume y1 y2…………. yn denote the number of cumulative
failure of software during testing in unit time 1,2,...,n .
0 If the n values do not fluctuate around a constant mean or do
not fluctuate with constant variance, then this process is called
a non-stationary time series process.
0 In other words, a time series is stationary if the statistical
properties of the time series are essentially constant through
time.
Gurbakash Phonsa
5. Time series non-stationary case
0 non-stationary case, you can take the first or second difference
of the values and examine if the transformed series is a
stationary case.
Let Zt be the number of failures in the tth testing period, then zt can be
written as:
Zt= Yt- Yt-1 ------------- Second where t = 2...,n
Wt= Zt- Zt-1 = (Yt- Yt-1 ) - (Yt-1- Yt-2 ) = Yt-2Yt-1+Yt-2
where t = 3,4...,n
and w is the first difference of z (or the second difference of Y1, Y2……………Yn.),
then we obtain as follows:
Gurbakash Phonsa
6. Conti….
0 From equation first, we can easily obtain the ARIMA function in term of
Y1, Y2……………Yn. using equation Second.
For example, consider p=0, d=2 and q=3.
Then the ARIMA for y , the values of cumulative failure number can be
calculated as follows.
It can be expressed that
and, therefore, we obtain
In above equation indicates that the second differences {W t } constitute a series of
moving linear combinations of { at-3, at-2,at-1, at} weighted by the weight function {-θ3, -
θ2, -θ1, 1 } and can be used to estimate as well as predict the reliability of the
software.
Gurbakash Phonsa
7. Non-homogeneous Poisson Process
Models
0 The non-homogeneous Poisson Process (NHPP) group of models
provides an analytical framework for describing the software failure
phenomenon during testing.
0 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 point in
time.
Gurbakash Phonsa
8. NHPP Models
Models included in this group are
0 Musa exponential (Musa 1987)
0 Goel and Okumoto NHPP (Goel 1979a)
0 S-shaped growth (Ohba, 1984b; Yamada 1983,1984)
0 Hyperexponential growth (Huang 1984; Ohba 1984a)
0 Discrete reliability growth (Yamada 1985)
0 Testing-effort dependent reliability growth (Yamada 1986, 1993)
0 Generalized NHPP (Pham 1997a, 1999b, 2000a, 2003a)
Gurbakash Phonsa
9. Musa Exponential Model
0 Musa (1985) proposed a similar model to the Goel-Okumoto model by
considering the relationship between execution time and calendar time.
0 Let m(t) be the number of failures discovered as a result of test case runs
up to the time of observation.
0 Musa obtained the differential equation as follows:
where
a = number of failures in the program
c = the testing compression factor
T = mean time to failure at the beginning of the test
n = total number of failures possible during the maintained life of the program
Gurbakash Phonsa
10. Goel-Okumoto Model
The Goel-Okumoto model (also called as exponential NHPP model) is based
on the following assumptions:
1. All faults in a program are mutually independent from the failure
detection point of view.
2. The number of failures detected at any time is proportional to the current
number of faults in a program. This means that the probability of the
failures for faults actually occurring, i.e., detected, is constant.
3. The isolated faults are removed prior to future test occasions.
4. Each time a software failure occurs, the software error which caused it is
immediately removed, and no new errors are introduced.
Gurbakash Phonsa
11. Goel-Okumoto Model Conti…
This is shown in the following differential equation:
where a is the expected total number of faults that exist in the software before testing
and
b is the failure detection rate or the failure intensity of a fault.
Gurbakash Phonsa
12. Hyperexponential Growth Model
0 The hyperexponential growth model (Ohba 1984a) is based on the
assumption that a program has a number of clusters of modules, each
having a different initial number of errors and a different failure rate.
0 Examples are:
new modules vs reused modules,
simple modules vs complex modules, and
modules which interact with hardware vs modules which do not.
0 It should be noted that the sum of exponential distributions becomes a
hyperexponential distribution.
Gurbakash Phonsa
13. Ohba 1984a
0 Assume that a program has a number of clusters of modules and each
having a different initial number of errors and a different failure intensity
function. The mean value function of the hyperexponential class NHPP
model is
where
n = number of clusters of modules
ai = number of initial faults in cluster i
bi = failure rate of each fault in cluster i
The failure intensity function is given by
Gurbakash Phonsa
14. Discrete reliability growth
Discrete reliability growth also known as Yamada-Osaki Exponential
Growth Model
0 A similar extension of the exponential growth model has been suggested by Yamada and
Osaki (1985) by dividing the software into k modules.
0 Yamada 1985: The failure intensity of faults within different modules
are assumed to be different while the failure intensity of faults within the
same module are assumed to be the same. Assume that the expected
number of faults detected for each module are exponential.
0 The expected number of faults detected for the entire software can be
obtained as:
Gurbakash Phonsa
15. Yamada-Osaki Exponential Growth
Model
where
k = number of modules in the software
bi = error detection rate of one fault within the ith module
pi = probability of faults for the ith module
a = expected number of software errors to be eventually detected or total number of
faults existing in the software before testing.
This model is called the Yamada-Osaki exponential growth model.
Gurbakash Phonsa
16. NHPP S-shaped Model
In the NHPP S-shaped model, the software reliability growth curve is an S-
shaped curve which means that the curve crosses the exponential curve
from below and the crossing occurs once and only once.
The detection rate of faults, where the error detection rate changes with
time, become the greatest at a certain time after testing begins, after which
it decreases exponentially.
In other words, some faults are covered by other faults at the beginning of the testing
phase, and before these faults are actually removed, the covered faults remain undetected.
Yamada (1984) also determined that the software testing process usually involves a
learning process where testers become familiar with the software products, environments,
and software specifications.
Gurbakash Phonsa
17. NHPP S-shaped model
The NHPP S-shaped model is based on the following assumptions:
1. The error detection rate differs among faults.
2. Each time a software failure occurs, the software error which caused it is
immediately removed, and no new errors are introduced.
Gurbakash Phonsa
18. Inflection S-shaped Model
The inflection S-shaped model (Ohba 1984) is based on the dependency of
faults by postulating the following assumptions:
1. Some of the faults are not detectable before some other faults are removed.
2. The probability of failure detection at any time is proportional to the
current number of detectable faults in the software.
3. Failure rate of each detectable fault is constant and identical.
4. The isolated faults can be entirely removed.
Gurbakash Phonsa
19. NHPP Delayed S-shaped Model
The software error detection process described by an S-shaped curve can be characterized as a
learning process in which test-team members become familiar with the test environment,
testing tools, or project requirements, i.e., their test skills gradually improve. The delayed S-
shaped model is based on the following assumptions:
1. All faults in a program are mutually independent from the failure detection point of view.
2. The probability of failure detection at any time is proportional to the current number of faults in
a software.
3. The proportionality of failure detection is constant.
4. The initial error content of the software is a random variable.
5. A software system is subject to failures at random times caused by errors present in the system.
6. The time between (i-1)th and ith failures depends on the time to the (i-1)th failure.
7. Each time a failure occurs, the error which caused it is immediately removed and no other errors
are introduced.
Gurbakash Phonsa
20. Generalized NHPP
The generalized NHPP imperfect-debugging fault-detection rate model
(Pham 1997b) is formulated based on the following assumptions:
1. The error detection rate differs among faults.
2. Each time a software failure occurs, the software error which caused it is
immediately removed, and new faults can be introduced.
Gurbakash Phonsa
21. Generalized Testing Coverage Model
Pham and Zhang (2003d) introduce a generalized model which
incorporates testing coverage measure into software reliability
assessment. Let c(t) denote the percentage of the code coverage as a time
dependent function which has been examined during software testing.
Obviously, 1-c(t) is the percentage of the software code which has not yet
been covered by test cases by time t. The derivative of the testing coverage
function, c’(t), represents the coverage rate. Therefore, the error detection
rate function can be expressed as:
Gurbakash Phonsa