Jump to content

User:Lfiondella/My sandbox

From Wikipedia, the free encyclopedia

The Goel-Okumoto (exponential) model[1] is a nonhomogeneous Poisson process (NHPP) software reliability model, which can be used to predict the several quantities, including the number of faults present in software at the beginning of testing, the fault rate, the number of faults remaining, and the additional amount of testing time required to achieve a desired level of reliability for a mission of a specified duration.

Notation

[edit]

- expected number of faults detected by time t.

- estimated number of faults.

- estimated fault rate.

- faults intensity rate at time t.

- number of faults actually observed (failure times), or number of intervals (fault counts).

- failure time vector.

- time at which nth fault was detected (failure times), time at which nth interval ended (fault counts).

- fault count vector.

- number of faults observed in ith interval.

- mission duration.

- reliability target.

- additional testing time.

- cost of releasing software at time t.

- average cost of removing a fault before release.

- average cost of removing a fault after release.

- average cost per unit time to conduct testing.

- optimal release time.

Model formulation

[edit]

The Goel-Okumoto model assumes that the instantaneous rate of change in the number of fault detected with respect to time is equivalent to the fault detection rate multiplied by the number of faults not detected. It is characterized by the following differential equation.

(1)

Mean value function

[edit]

Solving differential equation in (1) under the initial condition m(0)=0 is equivalent to assuming that no faults have been detected at the beginning of testing, which produces the mean value function

(2)

The fault intensity rate is

(3)

Maximum likelihood equations

[edit]

The maximum likelihood equations for failure time data are

(4)
(5)

The maximum likelihood equations for failure count data are

(6)
(7)

Conditional reliability

[edit]

The reliability function for a mission of duration is

(8)


Required testing time

[edit]

The additional testing time needed to achieve reliability target given a mission time duration is

(9)

Optimal release

[edit]

The optimal release time of cost function[2]

(10)

is

(11)

Numerical example

[edit]
Plot of the maximum likelihood estimate of the Goel-Okumoto model, shown with the SYS1 data set.

The SYS1 data set[3] consists of the following 136 observed failure times (unit in seconds)

T=<3, 33, 146, 227, 342, 351, 353, 444, 556, 571, 709, 759, 836, 860, 968, 1056, 1726, 1846, 1872, 1986, 2311, 2366, 2608, 2676, 3098, 3278, 3288, 4434, 5034, 5049, 5085, 5089, 5089, 5097, 5324, 5389, 5565, 5623, 6080, 6380, 6477, 6740, 7192, 7447, 7644, 7837, 7843, 7922, 8738, 10089, 10237, 10258, 10491, 10625, 10982, 11175, 11411, 11442, 11811, 12559, 12559, 12791, 13121, 13486, 14708, 15251, 15261, 15277, 15806, 16185, 16229, 16358, 17168, 17458, 17758, 18287, 18568, 18728, 19556, 20567, 21012, 21308, 23063, 24127, 25910, 26770, 27753, 28460, 28493, 29361, 30085, 32408, 35338, 36799, 37642, 37654, 37915, 39715, 40580, 42015, 42045, 42188, 42296, 42296, 45406, 46653, 47596, 48296, 49171, 49416, 50145, 52042, 52489, 52875, 53321, 53443, 54433, 55381, 56463, 56485, 56560, 57042, 62551, 62651, 62661, 63732, 64103, 64893, 71043, 74364, 75409, 76057, 81542, 82702, 84566, 88682>.

Applying Newton's method to (5), the estimated fault rate is . Substituting this value into (4), the estimated number of faults is . Therefore the estimated number of faults remaining is .

If this same data set were collected by counting the number of faults in consecutive intervals of 1000 seconds the fault count vector is F=<15, 5, 4, 3, 1, 10, 4, 6, 1, 0, 6, 4, 3, 2, 1, 4, 3, 3, 3, 1, 1, 2, 0, 1, 1, 1, 1, 1, 2, 1, 1, 0, 1, 0, 0, 1, 1, 3, 0, 1, 1, 0, 5, 0, 0, 1, 1, 1, 1, 2, 1, 0, 3, 2, 1, 1, 3, 1, 0, 0, 0, 0, 3, 1, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1>. Applying Newton's method to (7), the estimated fault rate is . Substituting this value into (6), the estimated number of faults is , and the the estimated number of faults remaining is .

Utilizing the parameters estimates obtained from (4) and (5), (8) indicates that the probability the software will operate failure free for one hour ( seconds) is , while (9) suggests that an additional 16.435 hours ( seconds) are needed to achieve a reliability of . Furthermore, if , , and the optimal software release time determined from (11) is after an additional 1.627 hours ( seconds) of testing.


References

[edit]
  1. ^ Goel, Amrit (Aug 1979). "Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures". IEEE Transactions on Reliability. R-28 (3): 206–211. doi:10.1109/TR.1979.5220566. Retrieved 9/29/2012. {{cite journal}}: Check date values in: |accessdate= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)CS1 maint: date and year (link)
  2. ^ Okumoto, Kazu (1980). "Optimum Release Time for Software Systems Based on Reliability and Cost Criteria". Journal of Systems and Software. 1: 315–318. doi:10.1016/0164-1212(79)90033-5. Retrieved 10/14/2012. {{cite journal}}: Check date values in: |accessdate= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. ^ Musa, John (1979). Software Reliability Data. New York: Data and Analysis Center for Software, Rome Air Development Center, Griffiss AFB.