Software Engineering | 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 of 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.

This is shown in the following differential equation:

    $$frac{partial m(t)}{partial t} = b[a-m(t)]$$  
ullhfill    Eqn(1)

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.


The mean value function solution of the differential equation 1 is given by

    $$m(t) = a(1-e^{-bt})$$

This model is known as the Goel-Okumoto model

For Type-I data, the estimate of parameters a and b of the Goel-Okumoto model using the MLE method can be obtained by solving the following equations simultaneously:

    $$a= frac{y_n}{(1-e^{-bt_n})}\$$ $$frac{y_nt_ne^{-bt_n}}{1-e^{-bt_n}} = sum_{k=1}^n  frac{(y_k-y_{k-1})(t_ke^{-bt_k}-t_{k-1}e^{-bt_{k-1}})}{(e^{-bt_{k-1}}-e^{-bt_k})}  \ $$

Similarly, for Type-II data, the estimate of parameters a and b using the MLE
method can be obtained by solving the following equations:

    $$a= frac{n}{(1-e^{-bS_n})}\$$ $$frac{n}{b} = sum_{k=1}^n S_i + frac{nS_ne^{(-bS_n)}}{1-e^{-bS_n})}  \ $$

Let  $hat{a}$ and $ hat{b} $ be the MLE of parameters a and b, respectively. We can then obtain the MLE of the mean value function (MVF) and the reliability function as follows:

    $$hat{m} (t)=hat{a} [1-e^{-hat{b}t}]$$ $$ hat{R} (x|t)=e^{-hat{a}[e^{-hat{b}t}-e^{-hat{b}(t+x)}]}$$

It is of interest to determine the variability of the number of failures at time t, N(t). One can approximately obtain the confidence intervals for N(t) based on the Poisson distribution as

    $$hat{m}-z_{alpha} sqrt{hat{m}(t)}leq N(t)leq hat{m}(t) + z_{alpha}  sqrt{hat{m}(t)}  $$

where $z_a$ is $100(1+alpha)/2$ percentile of the standard normal distribution, i.e., N(0, 1).

This article is attributed to GeeksforGeeks.org

leave a comment



load comments

Subscribe to Our Newsletter