M-(t) = a(l-e"DC), where a = expected total number of defects in the code b = shape factor = the rate at which the failure rate decreases, i.e., the rate at which we approach the total number of defects. The Goel-Okumoto model is a concave model, and the parameter "a" would be plotted as the total number of defects in Figure 2-2. The Goel-Okumoto model has 2 parameters; other models can have 3 or more parameters. For most models, (i(t) = aF(t), where a is the expected total number of defects in the code and F(t) is a cumulative distribution function. Note that F(0) = 0, so no defects are discovered before the test starts, and F(°°) = 1, so (x(oo) = a and a is the total number of defects discovered after an infinite amount of testing. Table 2-1 provides a list of the models that were evaluated as part of this effort. A derivation of the properties of most of these models can be found in [Musa,87]. Model Name Model Type |l(t) Reference Comments Goel-Oku moto (G-O) Concave a(l-ebt) a>0,b>0 Goel,79 Also called Musa model or exponential model G-O S-Shaped S-Shaped a(l-(l+bt)e"bt) a>0,b>0 Yamada,83 Modification of G-O model to make it S-shaped (Gamma function instead of exponential) Hossain-Dahiya/G-0 Concave a(l-e"bt)/(l+ce"bt) a>0,b>0,c>0 Hossain,93 Solves a technical condition with the G-O model. Becomes same as G-O as c approaches 0. Gompertz S-Shaped a(bc) a>0,00,ß>0,00,b>0,c>0 Musa,87 Same as G-O for c=l Yamada Exponential Concave a(l-era(I-e"ßt)) a>0,ra>0,ß>0 Yamada,86 Attempts to account for testing effort Yamada Raleigh S-Shaped a(l-e-"«'-*<*2'2)>) a>0,roc>0,ß>0 Yamada,86 Attempts to account for testing effort Log Poisson Infinite Failure (l/c)ln(ccct+l) c>0,cc>0 Musa,87 Failure rate decreases but does not approach 0 Table 2-1. Software Reliability Growth Model Examples The Log Poisson model is a different type of model. This model assumes that the code has an infinite number of failures. Although this is not theoretically true, it may be essentially true in practice since all the defects are never found before the code is rewritten, and the model may provide a good fit for the useful life of the product. 8