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)]$$  \null\hfill    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.

    Theorem:

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).



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

3


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.