Escolar Documentos
Profissional Documentos
Cultura Documentos
1. INTRODUCTION
or the failure intensity function
Software reliability is defined as the probability of failure-free
operation of a computer program in a specified environment for a
du(r) (2)
specified time. A failure is a departure of program operation from Mr) = - -
230
0270-5257/84/0000/0230501.00© 1984 IEEE
decreases in a geometric fashion. The logarithmic Poisson model Integrating (7) yields
may be viewed as a continuous version of the geometric model. The
difference between the two models is illustrated in Fig. 1.
e au(~) = 3,oOr + C , (8)
d[e0U( ~)] Let Ti(i = 1,2, - - . ) be a random variable representing the i-th
Oz'(r) e °~(~) , (6) failure interval and define Ti(i = 1,2, ' • • ) as a random variable
dr
representing time to the i-th failure, i.e.,
d[e0U( ~)]
XoO. (7)
dr where To = 0.
231
Observe that the events El." There are at least i failures If we take the negative of the derivative of (18) with respect to
experienced by time r, and E2: Time to the i-th failure is at least ri, we get the conditional density function of ri, i.e.,
r, are equivalent, i.e.,
f ( r ~ l r ; - 0 = x(r~ + r i - 1) e -{"(r; + r , _ , ) - ~(r,_.)}, (20)
{M(r) >/ i} ~=' {7",- ~< r} . (14)
= ~ {u(r)JJ _.(~> Note that the hazard rate for the model is the same as the failure
j.i j----T--~ " (15) intensity function. Further, substituting (10) into (21) yields
z (rilri_O = X° (22)
Note that this is the distribution of time to remove the first i Xo0(ri + ri-O + 1
failures.
Similarly, from (12) and (14) the conditional c.d.f, of Ti given 3. MAXIMUM LIKELIHOOD ESTIMATION OF PARAMETERS
M ( r e ) = me, where i > me, is derived as
In this section we will develop the method of maximum likelihood
for estimating the unknown parameters X0 and 0. We will take an
Pr{T/ ~< r i M ( r e ) = me} = P r { M ( r ) >~ i l M ( r e ) = me} approach that estimates the product ~b = X00 by using a conditional
joint density function as the likelihood function. Then 0 is
determined from the mean value function. It can be easily shown
ffi ~ Pr {M ( r ) - M (r e) = j--me} that the foregoing approach is equivalent to the method of maximum
j--i likelihood estimation based on an unconditional joint density
function. The approach simplifies the estimation process (only one
parameter involved) and hence it is more efficient computationally.
= ~ {#(r)--#(re)}J-m" e -{z(r)-z(r')} r >1 r e. (16) We will consider two types of failure data; failure intervals
j=i (j-me)! (Section 3.1) or numbers of failures per interval (Section 3.2).
3.1 E s t i m a t i o n B a s e d on Failure Intervals
2.2.4 Reliability and H a z a r d Rate
Suppose that estimation is performed at a specified time re.
The conditional reliability of 7",-' on the last failure time Then, the number of failures experienced in (0,re] will be a random
Ti- 1 ~ ri_ 1 can be obtained, using (16), as variable. In this case, we can use a conditional joint density function
as the likelihood function. Assuming m failures have been observed
R (r;Iri-,) = Pr {Ti' > -;I r , = r,_,) by execution time re and noting that T,,,+l is dependent only on Tm
since the {Ti, i = 1,2,..} form a Poisson process, we get the j o i n t
density function of {Tb " • " ,Tin} conditional on M ( r e ) = me as
= 1 -Pr{Ti ~< rAM(ri-,) = i - 1 }
f ( r l , " " " , r m ) P r { T m + l > r e l T m = rm}
g (r 1, " " " ,Tin Ira) = ~ Pr {M (re) •m } (23)
ffi 1 - ~ {#(ri)--#(ri-O}J-i+l -{u(,,)-u(,,_,))
(17)
j=i (j-/+l)! -e
where f ( r b ' ' " ,rm) represents the unconditional joint density
function of {Tb...,Tm}.
Using (20), we obtain the unconditional joint density function as
Note that the second term of (17) is the sum of Poisson probabilities
except for one term. Hence, we get
f(rx ..... rm) = H f ( r i l r i - 1 )
i-1
R(r~lri-O ffi e -1"%-'+*) -u("-')} (18)
m
t r i + rXoOri-i
-l)+l + 1 1 }11o (19) = e -"(T') II X ( r / ) . (24)
R(r;lr,-,) = _ Xo0;--rT-__- . i-I
232
Therefore, if we substitute (1 l), (24) and (25) into (23), we get 3.2 Estimation Based on Numbers of Failures per Interval
the conditional joint density function as Suppose that an observation interval (0,Xp] is partitioned into a
set of p disjoint subintervals (O,xl],(xl,x2], ..., (xp-l,xp] and the
number of failures in each subinterval is recorded. Let
g(rl,''',rm Im) = m ! iIIl X(Ti)h.t(T e) , (26) y t ( l = l , 2 , • • • ,p) be the number of failures in (0,xt]. We will use
the conditional joint density function to develop the method of
maximum likelihood for estimating the unknown parameters ~o and 0
Note that (26) is applicable to any other Poisson processes. Also, from the available data Yl, Y2, " " " , Yp.
note that when a joint density function of random variables
The joint density function of Y/'s can be derived as follows,
T ~ , - . . , T , , has the form of (26), the random variables are order
noting that the Ye's form a Poisson process:
statistics from the p.d.f, h(r)/#(re). In other words, randomly
ordered failure times are i.i.d, from the above p.d.f..
P
For the proposed model we substitute (9) and (10) into (26): f(Yl,''',Yp) = II P r { M ( x t ) = Y t }
1--1
1 ln(XoOre+l ) = m. (31)
0
For the proposed model we substitute (9) into (39):
= ~ In(are+l). (32)
m
ln(XoOxl-l+l) }yl,
YP! 'HIP Z 1 ( ln(XoOx/+l)~n(k~x_~- (40)
Since q~ = boO, we get
~o = $/'0. (33) which may be used as the likelihood function for estimating the
parameter ¢(=ho0).
The estimation method of this section can be applied to the case
when estimation is made at the time of the m-th failure by setting An estimate of 4~ can be obtained by maximizing the log-
Te ~ Tm . likelihood, i.e.,
233
L = In g ( Y t , " " " ,Yp[Yp) number of failures by rq can be predicted by substituting the
estimates of the parameters in the mean value function to obtain
/~(7-q), which is compared with the actually observed number q. This
will be repeated for various values of re.
= In(yp!) - ~ In yl + ~ y t In {ln(~bx/+l)
I--1 l--1 The predictive validity can be checked visually by plotting the
relative error { ( ~ ( ' r q ) - q ) / q } against the normalized execution time
7"e/'r q, The error will approach zero as re approaches rq. If the
- I n (~bXl_l-F1)} --yp In {ln(~bxp+l)}, (41) points are positive (negative), the model tends to overestimate
(underestimate). Numbers closer to zero imply more accurate
prediction and hence the better model.
where (38) was applied to the last term. Taking the derivative of L The use of normalization enables one to overlay relative error
with respect to ¢ and setting it equal to zero, we get curves obtained from different failure data sets. For an overall
conclusion as to the relative predictive validity of models, we may
compare plots of the medians (taken with respect to the various data
XI XI-I
sets). The model which yields the curve that is the closest to zero
(pxt+l c~xt+l will be considered superior.
O~ l--1 In (q~xt+l) - In (~X/-l+l)
The above procedure for evaluating predictive validity of the
logarithmic Poisson model was applied to the 15 sets of failure data.
Estimates of the model parameters Xo and 0 were based on the
failure data up to execution time values of re that are 20(5)100% of
ypXp rq. The estimates Xo and 0 were then substituted into the mean
= 0. (42) value function given in (9) to predict the number of failures by rq.
(~bxp+l)ln (~bxp+1)
The relative error curves for all of the 15 failure data sets were
overlaid and shown in Fig. 2. As can be seen, the model seems to
Since the above equation is nonlinear, we cannot find an analytic predict the future behavior very well; the error curves are, in
solution but must obtain it numerically. general, within +10% when prediction is made after 50% of rq.
Furthermore, there is no specific pattern such as overestimation or
Using the same approach employed in Section 3.1, estimates of # underestimation (this can be better seen in the median plot shown in
and Xo for given ~ can be found as Fig. 3).
and
1
~o = ~10, (44)
234
b. category - the number of failures that can be experienced in We will make comparisons using the following seven model
infinite time is finite or infinite, groups (classes or families), which include most published models:
exponential class, Weibull class, Pareto class, geometric family,
c. type - the failure quantity distribution,
inverse linear family, inverse polynomial (2nd degree only) family,
d. class (finite failures category only) - functional form of the and power family. The logarithmic Poisson model is a member of
failure intensity in terms of time, the geometric family. We do not consider different types because
the mean value functions of the models are independent of type, and
e. family (infinite failures category only) - functional form of the
the mean value function is the primary determinant of the model
failure intensity in terms of the expected value of failures
characteristics.
experienced.
Table I illustrates the classification scheme with respect to the last The relative error approach for evaluating predictive validity was
four attributes (it is identical for both kinds of time) and notes applied for each of the model groups, using the same sets of failure
where most of the published models fit in it. Table I1 summarizes data. Note that the estimation method discussed in Section 3 was
the functional relationships of the failure intensity of various models described in terms of the general forms of ~,(r) and #(r). Therefore,
with respect to (execution) time and the expected number of failures it can be easily particularized for each model group. The foregoing
experienced (see [1] for detailed derivations). approach represents an exact comparison for most of the models. It
Type
Pareto Littlewood
differential [ 10]
Type
Family T1 T2 T3 Poisson
235
Table II. Functional relationshps for failure intensity with respect to time t and expected
number of failures experienced #(~Oo:Ol,to2,co3,@o,@h¢2are real).
Family X(t)
Inverse Polynomial 6%
{3~//t + ,,/t2+wl + -~/t
3 - - ~/t2+c~,
} I/(~bo+~b,/fl)
(2nd Degree)
represents an approximate comparison for the Littlewood-Verrall especially when prediction is made after 60% of ~-q. This pattern for
model, in that a different inference procedure is used (maximum the inverse polynomial family was also confirmed by examining the
likelihood rather than Bayesian). upper and lower quartile curves. Note that the inverse polynomial
family has very complicated expressions for X(r) and t~(r) and hence
Plots of the median error curves for the model groups are shown
it is much less practical in use. Therefore, it is concluded that the
in Fig. 3. It can be observed that exponential, Pareto, and Weibull
geometric family is superior to the other software reliability model
classes tend to underestimate whereas inverse linear and power
groups in predictive validity and practicability. Since the
families tend to overestimate. The geometric and inverse polynomial
logarithmic Poisson execution time model is a member of this group,
families on the whole yield the best prediction. However, the inverse
it appears to be the model of choice.
polynomial family tends to be biased to the overestimation side,
Predictive V a l i d i t y
02
-g
/~ ~ /",.//" o : E ~ ,
o : Pa?eto
z~ : Weibul I
" /~/ ~ x : _Inverse Linear
/ voo=p:
,nOv~:~
see.:
°lyn°mi81 ,oo
-O'3zO 6'O
NormalizedExecutionTime(X)
Fig. 3 Median curves of relative error for seven Poisson-type models.
236
5. CALENDAR TIME COMPONENT OF MODEL resource expenditure represents a resource applied for a time period
(e.g., person hours).
We shall now relate execution time r to calendar time t. The
calendar time component of the model is most practically applied to Assumption 6: The quantities of the available resources are
the system test phase of a project. We will use the approach taken constant for the remainder of the test period. The maximum
by Musa [3]. utilization of each of the available resources is also constant.
Therefore, if we denote by Pk and pk(k = I,F,C) the fixed available
5.1 Assumptions
quantity and the utilization factor, respectively, of resource k, then
The following assumptions will be made to specify the calendar the effective available quantity of resource k is pkPk,
time component of the model: 5.2 Derivation
Assumption 4: The pace of testing at any time is constrained by Using the above assumptions, we will derive a relationship of
one of three limiting resources: failure-identification (test team)
calendar time and execution time for the logarithmic model.
personnel (1), failure-correction (original designer) personnel (F), or
computer time (C). Substituting (10) into (46), we obtain the rate of resource
expenditure as
In most projects during test, there will be from one to three
periods, each characterized by a different limiting resource.
Typically, one identifies a large number of failures separated by dXk ~ Ok + #k ~ko , (47)
short time intervals at the start of test, and testing must be stopped dz ~oOrh"1
from time to time in order to let the people who are fixing the
failures keep up with the load. As testing progresses, the intervals where k = I,F, or C. Since the effective available resource is PkPk
between failures become longer and longer and the debuggers are no (from Assumption 6), the rate of the calendar time with respect to
longer fully loaded, but the test team becomes the bottleneck.
execution time associated with each resource is given by
Finally, at even longer failure intervals, the capacity of the
computing facilities is limiting.
dtk dxk
Let dtt/dr, dtr/dr, and dtc/dr represent the instantaneous / PkPk
dr dr
calendar time to execution time ratios that result from the effects of
each of the resource constraints taken alone, respectively.. Then, the
assumption can be written as
d_t_t = m a x l -dtt
~ r ' dtr dtc t
=
PkPk
1,
{
Ok + uk
?00++,) (48)
(45)
dr dr' dr Therefore, from assumption 4 we can obtain the instantaneous
calendar time to execution time ratio as
Assumption 5: The rate of resource expenditures with respect to
dXk dt ~ dtk ]
execution time ~ can be approximated by: (49)
d--; - m axlT f ,
dxk --__Ok + #k du(r) k = I,F,C, (46) where k may be /, F, or C. Consult Musa [3] for detailed
dr ~ ' discussions on how to determine the parameter values.
Acknowledgement
where Ok is an execution time coefficient of resource expenditure and
uk is a failure coefficient of resource expenditure. For specific The authors are indebted to A. Iannino for his helpful comments
resources (k = I,F, or C), either 0k or #k can be zero. Note that a and suggestions.
237
[12] J . D . Musa, "The measurement and management of software [15] W. L. Wagoner, "The Final Report of Software Reliability
reliability," Proc. IEEE, 68(9), 1980, pp. 1131-1143. Measurement Study," Aerospace Report No. TOR-
0074(4112-1), August 1973.
[13] P. A. Keiller, et al., "On the quality of software reliability
prediction," Proceedings of NATO Advanced Study Institute [16] G. J. Schick, R. W. Wolverton, "Assessment of software
on Electronic Systems Effectiveness and Life Cycle Costing, reliability," Proc. Operations Research, Physica-Verlag,
Norwich, U. K., July 19-31, 1982, NATO AS1 Series, Vol. Wurzburg-Wien, 1973, pp. 395-422.
F3, (Ed: J. W. Skwirzynski) Springer-Verlag, Heidelberg,
[17] A . L . Goel, K. Okumoto, "An Analysis of Recurrent Software
1983, pp. 441-460. Errors in a Real-Time Control System," Proc. ACM
[14] L. H. Crow, "Reliability analysis for complex, repairable Conference, 1978, pp. 496-501.
systems," Reliability and Biometry", Edited by F. Proshan
and R. J. Serfling, SIAM, Philadelphia, PA, 1974, pp. 379-
410.
238