Reliability Engineering and System Safety 116 (2013) 135–141
Contents lists available at SciVerse ScienceDirect
Reliability Engineering and System Safety journal homepage: www.elsevier.com/locate/ress
Software reliability growth models with normal failure time distributions Hiroyuki Okamura a,n, Tadashi Dohi a, Shunji Osaki b a b
Department of Information Engineering, Graduate School of Engineering, Hiroshima University, 1–4–1 Kagamiyama, Higashi Hiroshima 739–8527, Japan Faculty of Information Sciences and Engineering, Nanzan University, Seto 489–0863, Japan
a r t i c l e i n f o
abstract
Article history: Received 9 August 2011 Accepted 5 February 2012 Available online 6 May 2012
This paper proposes software reliability growth models (SRGM) where the software failure time follows a normal distribution. The proposed model is mathematically tractable and has sufficient ability of fitting to the software failure data. In particular, we consider the parameter estimation algorithm for the SRGM with normal distribution. The developed algorithm is based on an EM (expectationmaximization) algorithm and is quite simple for implementation as software application. Numerical experiment is devoted to investigating the fitting ability of the SRGMs with normal distribution through 16 types of failure time data collected in real software projects. & 2012 Elsevier Ltd. All rights reserved.
Keywords: Software reliability growth model Normal distribution EM algorithm
1. Introduction Software reliability growth models (SRGMs) are widely used to estimate quantitative software reliability measures. The SRGMs are generally defined as stochastic counting processes regarding the number of faults detected or failures experienced in testing phase. Based on the counting process, we compute some of software reliability measures such as the quantitative software reliability which is defined as a probability that no failure occurs during a certain time interval. Since the seminal works of Jelinski and Moranda [1] and Goel and Okumoto [2], a number of SRGMs have been competitively proposed to improve their fitting abilities and accuracy of the future failure prediction [3–7]. In particular, non-homogeneous Poisson processes (NHPPs) have much popularity for the software reliability modeling due to their mathematical tractability. All the NHPP-based SRGMs are characterized by mean value functions that indicate the expected numbers of failures with respect to testing time. In fact, Goel and Okumoto [2], Goel [8], Musa and Okumoto [9], Ohba [10,11], Yamada, Ohba and Osaki j [12], Zhao and Xie [13] and Pham [14] proposed NHPP-based SRGMs whose mean value functions draw typical non-linear curves. The quantitative software reliability assessment generally consists of the following steps: (i) Collect software failure data, (ii) Determine a set of candidates of models, (iii) Estimate parameters for all the candidates, (iv) Choose the best model under a certain criterion, and (v) Calculate the quantitative measures using the best model. In the step (i), we collect the
n
Corresponding author. E-mail addresses:
[email protected] (H. Okamura),
[email protected] (T. Dohi),
[email protected] (S. Osaki). 0951-8320/$ - see front matter & 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.ress.2012.02.002
failure time data in software testing or the number of failures per working day. The steps (iii) and (iv) can be solved by statistical arguments such as the maximum likelihood (ML) estimation and the theory of information criterion. In the step (v), the software reliability measures can be computed according to their formulas. However, in the step (ii), there is no definitive method to determine a suitable set of candidates. If the number of candidates is large, it causes a large effort in the parameter estimation procedure of the step (iii). At the same time, since there have been over 200 SRGMs proposed in many papers, it is infeasible to estimate the model parameters for all the existing SRGMs. On the other hand, if the set did not include the sufficient number of candidates, it causes the degradation of fitting ability and prediction accuracy. That is, it is important to determine a suitable set of candidates. The modeling framework is helpful to determine a set of candidates, which involves some of the existing NHPP-based SRGMs. The most well-known and well-defined modeling framework has been proposed by Langberg and Singpurwalla [15]. They revealed the statistical structure of a class of NHPP-based SRGMs. According to their approach, NHPP-based SRGMs consists of only two factors; the number of total software faults before testing (the number of total failures experienced in the software lifetime) and failure time caused by each fault in testing. In particular, when the number of total software faults is given by a Poisson random variable, the framework covers the NHPP-based SRGMs whose mean value function is bounded by a finite value. Then the concrete formulas of NHPP-based SRGMs are dominated by only types of the failure time distribution. In their framework, the candidate selection of NHPP-based SRGMs can be reduced to selecting a set of suitable failure time distributions. In fact, typical NHPP-based SRGMs consist of well-known statistical distributions such as exponential [2], gamma [12,13], Pareto [16,17], logistic [10,18] and extreme-value (Weibull, Frechet and Gompertz)
136
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
distributions [8,19]. Generally, in the area of reliability engineering, the exponential, gamma, Pareto, logistic, extreme-value distributions are also applied to representing the hardware failure time distribution. However, the NHPP-based SRGM whose failure time follows the normal distribution has not been fully discussed. The normal distribution is one of the most prominent distributions in statistics. As is well known, the normal distribution can be derived as the probability distribution of the sum of random variables based on the central limit theorem (CLT). In addition, the normal distribution belongs to the exponential family, likewise exponential distribution and gamma distribution, and the exponential family are analytically tractable. In the reliability engineering for hardware, the normal distribution can also be applied to representing failure time. However, in the software reliability engineering, it has been never assumed that software failure time is normally distributed. One of the reasons is why the normal distribution is defined on the range ð1,1Þ, though the failure time distribution is defined on the positive support. Only the work using normal distribution in the software reliability engineering is in [20]; Achcar et al. used the log-normal distribution as software failure time distribution. One goal of this paper is to develop SRGMs with normal distribution for the software reliability assessment. In particular, we deal with two SRGMs based on truncated normal and log-normal distributions. Another goal is to derive effective parameter estimation algorithms for the SRGMs with normal distribution. The estimation of model parameters is needed to quantitatively assess the software reliability from observed failure data, i.e., in the step (ii). The commonly used method is the ML estimation. The ML estimation is to find the maximum of likelihood function of observed software failure data. Since ML estimates (MLEs) have rational properties like asymptotic efficiency, MLEs are expected to be suitable even in the parameter estimation for NHPPbased SRGMs. Although ML estimation enables us to compute statistically proper estimates for model parameters, we occasionally encounter several difficulties for the parameter estimation. In general, MLEs are obtained by maximizing log-likelihood functions or by solving non-linear equation called likelihood equation which is derived form the first derivative of log-likelihood function. However, even for Goel and Okumoto model, we cannot obtain closed forms of MLEs. In other words, we employ numerical approaches to find MLEs based on log-likelihood functions. The commonly used approaches to find MLEs are Newton’s method, quasi-Newton’s method and Nelder–Mead method. Although Newton’s method is a powerful tool to calculate MLEs, it has the local convergence property and may fail to get the solution due to unsuitable initial guesses. The Nelder–Mead method is one of the direct search methods, which is more stable for initial guesses than Newton’s method, but a few design parameters, such as expansion rate, must be manually adjusted before executing the algorithm. These are serious problems when we develop and implement the software reliability assessment tool. This is one of the reasons why the software reliability assessment tool has not been distributed to practical software development projects. Recently, we developed a parameter estimation algorithm based on the EM (expectation–maximization) principle [21,22] and applied it to the software reliability assessment based on NHPP-based SRGMs [23–25,19]. Our key idea here is to regard the underlying software failure data as incomplete data in the modeling framework by Langberg and Singpurwalla [15]. It was shown that the EM algorithm can be applied to typical NHPPbased SRGMs and can give much advantages on global convergence and reduction of computation efforts. The goal of this paper is to figure out the EM algorithms for the SRGMs with normal distribution.
This paper is organized as follows. In Section 2, we introduce the modeling framework by Langberg and Singpurwalla [15] and develop the SRGMs under normally distributed failure times. In Section 3, we derive the concrete EM algorithms for the normal distribution based SRGMs. Section 4 is devoted to examining the performance of them. Finally, we conclude the paper with remarks in Section 5.
2. NHPP-based SRGM with normal distribution 2.1. Modeling framework Let fXðtÞ,t Z0g denote the number of software failures experienced before time t. According to Langberg and Singpurwalla [15], this paper considers the following model assumptions:
Assumption A: Software failures occur at mutually indepen-
dent random times. The probability distributions of all failure times are identical. The probability density and cumulative distribution functions (p.d.f. and c.d.f.) are given by f(t) and F(t), respectively. Assumption B: The number of inherent software faults causing failures is given by a Poisson random variable.
Under the assumption that the number of inherent faults is fixed as N, the probability mass function (p.m.f.) of the cumulative number of failures experienced by time t is given by N ð1Þ PðXðtÞ ¼ nÞ ¼ FðtÞn F ðtÞNn , n where F ðÞ ¼ 1FðÞ. Since N is a Poisson random variable with mean o, the cumulative number of software failures before time t has the following p.m.f.: PðXðtÞ ¼ nÞ ¼
ðoFðtÞÞn oFðtÞ e : n!
ð2Þ
Eq. (2) is equivalent to the probability mass function of NHPP with mean value function oFðtÞ. 2.2. SRGM with normal distribution In the modeling framework of Eq. (2), NHPP-based SRGMs are defined as respective failure time distributions. By substituting statistical distributions defined on positive support into F(t), we obtain corresponding NHPP-based SRGMs. For example, if F(t) is given by an exponential c.d.f., then the corresponding SRGM becomes Goel and Okumoto model [2]. This paper applies normal distributions to the failure time distribution. Although the normal distribution is one of the most prominent distributions in statistics, only Achcar et al. [20] used the log-normal distribution as software failure time distribution. There has not been discussed on the applicability of normal distribution to the failure time distribution. Let FðtÞ and fðtÞ be c.d.f. and p.d.f. of the standard normal distribution with mean 0 and variance 1. Then we have Z t FðtÞ ¼ fðuÞ du, ð3Þ 1
and 1
1 2
fðtÞ ¼ pffiffiffiffiffiffi exp t2 : 2p
ð4Þ
Based on the standard normal distribution, we develop the SRGMs with truncated normal distribution (TNorm) and log-normal distribution (LNorm). Concretely, the failure time distribution of TNorm
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
marginal log-likelihood function (LLF):
is given by Fðt; m, sÞ ¼ F
tm
h^ ML ¼ argmax Lðh; DÞ,
F ðm=sÞ,
s
1 o m o 1, s 4 0,
ð5Þ
s
The above is the model based on log-normal order statistics introduced by Achcar et al. [20].
3. EM algorithm for SRGMs with normal distribution 3.1. Maximum likelihood estimation In the software reliability assessment, we should estimate model parameters of NHPP-based SRGMs from observed data. The most commonly used technique to parameter estimation is maximum likelihood (ML) estimation. Let DT ¼ ðt 1 , . . . ,t K ; TÞ be a set of failure times experienced by time T. Without loss of generality, we assume 0 o t1 o ot K . For the observed data DT , the log-likelihood function (LLF) for NHPP-based SRGMs with failure time data is given by Lðo, h; DT Þ ¼ log pðDT ; o, hÞ, pðDT ; o, hÞ ¼ oK
K Y
f ðt k ; hÞexpðoFðT; hÞÞ,
ð7Þ
ð8Þ
k¼1
where h is a parameter vector for the failure time distribution, f ð; hÞ is a density function of Fð; hÞ and pðÞ is an appropriate probability mass or density function. On the other hand, DG ¼ ðn1 , . . . ,nK Þ denotes the number of failures experienced on the time sequence 0 o t1 o t2 o o tK . Then the LLF with the grouped data is given by Lðo, h; DG Þ ¼ log pðDG ; o, hÞ, K Y ðoFðtk ÞoFðtk1 ÞÞnk expðoFðtK ; hÞÞ: nk ! k¼1
ð11Þ
h
where F ðÞ ¼ 1FðÞ. On the other hand, the failure time distribution of LNorm is log tm , 1 o m o 1, s 4 0: ð6Þ Fðt; m, sÞ ¼ F
pðDG ; o, hÞ ¼
137
ð9Þ
ð10Þ
The ML estimation is to find the parameters maximizing the LLF, so-called maximum likelihood estimates (MLEs). In general, MLEs of NHPP-based SRGMs cannot be expressed as closed forms, even for the simplest model, i.e., Goel and Okumoto model. That is, we need to utilize any iterative methods for numerical optimization such as Newton’s method, quasi-Newton’s method, Fisher’s scoring method and Nelder–Mead method. However, it is well known that it is difficult to choose appropriate initial parameters in these iterative methods. In addition, some methods require appropriate design parameters such as reflection and expansion rates in Nelder–Mead method. This property adversely affects making software reliability assessment tools. In the reliability assessment tool with Newton’s or quasi-Newton’s method, the users should change initial parameters and other design parameters depending on observed failure data. 3.2. EM algorithm The EM algorithm is an iterative method for computing ML estimates with incomplete data [21,22]. Let D and Z be observable and unobservable data vectors, respectively, and we generally estimate a model parameter vector h from only the observable data vector D. In the context of ML estimation, the problem corresponds to finding a parameter vector that maximizes a
Lðh; DÞ ¼ log pðD; hÞ ¼ log
Z
pðD,Z; hÞ dZ,
ð12Þ
where pðÞ is any probability density or mass function. Taking account of the posterior distribution of unobservable data vector with the parameter vector h0 and Jensen’s inequality, we have Z pðD,Z; hÞ dZ Lðh; DÞ ¼ log Z pðD,Z; hÞ pðZ9D; h0 Þ dZ ¼ log pðZ9D; h0 Þ Z pðD,Z; hÞ Z pðZ9D; h0 Þlog dZ pðZ9D; h0 Þ Zðh; h0 Þ:
ð13Þ
The posterior distribution for unobservable data can be obtained from Bayes theorem: pðZ9D; h0 Þ ¼ R
pðD,Z; h0 Þ : pðD,Z; h0 Þ dZ
ð14Þ
Eq. (13) yields Lðh; DÞZðh; h0 Þ ¼ DKL ðpðZ9D; h0 ÞJpðZ9D; hÞÞ,
ð15Þ
where DKL ðPJQ Þ is the Kullback–Leibler distance from the distribution P to the distribution Q. Hence the difference Lðh; DÞLðh0 ; DÞ is given by Lðh; DÞLðh0 ; DÞ ¼ Zðh; h0 ÞZðh0 ; h0 Þ þ DKL ðpðZ9D; h0 ÞJpðZ9D; hÞÞ: ð16Þ Since DKL ðJÞ Z 0, Eq. (16) implies that the maximization of upper bound results in the maximization of marginal LLF. Let Q ðh9h0 Þ denote the conditional expected LLF with respect to the complete data vector ðD,ZÞ using the posterior distribution for unobservable data vector with provisional parameter vector h0 : Z pðZ9D; h0 Þlog pðD,Z; hÞ dZ: ð17Þ Q ðh9h0 Þ ¼ E½log pðD,Z; hÞ9D; h0 ¼ Then Eq. (13) is rewritten in the form: Z Zðh; h0 Þ ¼ Q ðh9h0 Þ pðZ9D; h0 Þlog pðZ9D; h0 Þ dZ:
ð18Þ
Since the second term of the above equation is constant, the maximization of Q ðh9h0 Þ with respect to h is directly reduced to the maximization of Zðh; h0 Þ with respect to h. Based on the above discussion, the EM algorithm consists of E-step and M-step. E-step computes the conditional expected LLF with respect to the complete data vector ðD,ZÞ using the posterior distribution for unobservable data vector with provisional parameter vector h0 , i.e., Q ðh9h0 Þ. In M-step, we find a new parameter vector h00 that maximizes the expected LLF:
h00 :¼ argmax Q ðh9h0 Þ,
ð19Þ
h
and h00 becomes a provisional parameter vector at the next E- and M-steps. These steps surely increase the marginal LLF. The E- and M-steps are repeatedly executed until the parameters converge. 3.3. EM-step formulas for LNorm with failure time data Consider the EM algorithm for LNorm: PðNðtÞ ¼ xÞ ¼
ðoFðt; m, sÞÞx expðoFðt; m, sÞÞ, x!
ð20Þ
138
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
Fðt; m, sÞ ¼ F
log tm
s
:
ð21Þ
In the modeling framework by Langberg and Singpurwalla [15], failure times after time T are not observable. The complete data are defined by 0 o T 1 o T 2 o oT N , where N is the number of total faults and Ti is the i-th ordered failure time. That is, unobserved data are Z T ¼ ðT K þ 1 , . . . ,T N ,NÞ. The complete LLF is given by log pðDT ,Z T ; o, hÞ ¼ N log oo þ
N X
where hðÞ is a measurable function. Applying the above formula, we have " # Z 1 N K X X E log T k DT ; o, m, s ¼ log t k þ o log t dFðt; m, sÞ T k¼1
ð22Þ
i¼1
K X
¼
log t k þ oF
ð1Þ
log Tm ,
s
k¼1
" log f ðT i ; m, sÞ:
k¼1
E
N X
k¼1
# Z 1 K X ðlog T k Þ2 DT ; o, m, s ¼ ðlog t k Þ2 þ o ðlog tÞ2 dFðt; m, sÞ T k¼1
From the standard argument of MLEs, the MLEs of o and h can be derived as
¼
K X
ðlog t k Þ2 þ oF
ð2Þ
log Tm ,
k¼1
o^ ¼ N,
ð34Þ
s
ð35Þ
ð23Þ where
N 1X m^ ¼ log T k , Nk¼1
ð24Þ
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi u N u1 X 2 s^ ¼ t ðlog T k Þ2 m^ : Nk¼1
ð2Þ
ð25Þ
o :¼ E½N9DT ; o0 , m0 , s0 , 1
o
E½
XN k¼1
ð26Þ
log T k DT ; o0 , m0 , s0 ,
ð27Þ
rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 XN s :¼ E½ k ¼ 1 ðlog T k Þ2 DT ; o0 , m0 , s0 m2 ,
o
ð28Þ
where o0 , m0 and s0 are provisional parameters. On the other hand, by applying Bayes theorem, we have pðN9DT ; o, m, sÞpoK eo
K Y
F ðzÞ ¼
f ðtk ; m, sÞ,
N¼K
ð29Þ
f ðtk ; m, sÞ
k¼1
Z
Z
1
1
T
N Y
T N1 k ¼ K
ð30Þ
Then the posterior distribution of N becomes the Poisson p.m.f. with mean oF ðT; m, sÞ for N Z K: ðoF ðT; m, sÞÞNK expðoF ðT; m, sÞÞ: ðNKÞ!
ð31Þ
Therefore, the EM-step formula for o can be obtained as
o :¼ K þ o0 F ðT; m0 , s0 Þ:
ð32Þ
On the other hand, we provide the following formula for the expectation on T 1 , . . . ,T N with a general failure time distribution Fðt; hÞ [24]: " # Z 1 N K X X E hðT k ÞDT ; o, h ¼ hðt k Þ þ o hðuÞ dFðu; hÞ, ð33Þ T k¼1
k¼1
1
s
1
ufðuÞ du ¼ sfðzÞ þ mF ðzÞ,
ð36Þ
sz þ m
Z
1
u2 fðuÞ du
sz þ m
ð37Þ
In the case where the data is given by the grouped form, the exact failure times are also regarded as unobserved data. Then we can obtain the similar formulas of the M-step in the case of grouped data as follows:
o :¼ E½N9DG ; o0 , m0 , s0 , m :¼
1
o
" E
N X
k¼1
ð38Þ
# log T k DG ; o0 , m0 , s0 ,
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi " # u N X u1 s :¼ t E ðlog T k Þ2 DG ; o0 , m0 , s0 m2 : o
ð39Þ
ð40Þ
k¼1
ð41Þ
and
f ðt k ; m, sÞ dT K þ 1 dT N ,
N ZK þ 1:
pðN9DT ; o, m, sÞ ¼
s
Bayes theorem gives us the following formulas: PK ðoF ðtK ; m, sÞÞN k ¼ 1 nk pðN9DT ; o, m, sÞ ¼ expðoF ðtK ; m, sÞÞ, P ðN Kk ¼ 1 nk Þ!
and K Y
Z
3.4. EM-step formulas for LNorm with grouped data
k¼1
pðN9DT ; o, m, sÞpoN eo
1
¼ ðs2 z þ 2msÞfðzÞ þ ðs2 þ m2 ÞF ðzÞ:
Eq. (22) implies that the estimation problem of NHPP-based SRGMs under the complete data can be decomposed into separate data fitting problems for the Poisson distribution and failure time distribution with independent and identically distributed (IID) samples. From Eq. (19), we have the following M-step formulas:
m :¼
ð1Þ
F ðzÞ ¼
o :¼
K X
nk þ o0 F ðtK ; m0 , s0 Þ:
ð42Þ
k¼1
The expectation on T 1 , . . . ,T N with a general failure time distribution Fðt; hÞ in the case of grouped data is also given by [24]: " # R tk N K n X X k tk1 hðuÞ dFðu; hÞ hðT k ÞDG ; o, h ¼ E Fðtk ; hÞFðtk1 ; hÞ k¼1 k¼1 Z 1 hðuÞ dFðu; hÞ, ð43Þ þo tK
where hðÞ is a measurable function. Using the above formula, we have " # ð1Þ ð1Þ N K X X F ðzk1 ÞF ðzk Þ ð1Þ E þ oF ðzK Þ, log T k DG ; o, m, s ¼ nk F ðz Þ F ðz Þ k1 k k¼1 k¼1 ð44Þ
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
" E
N X k¼1
# ð2Þ ð2Þ K X F ðzk1 ÞF ðzk Þ ð2Þ ðlog T k Þ DT ; o, m, s ¼ nk þ oF ðzK Þ, F ðzk1 ÞF ðzk Þ 2
k¼1
data. Then we have the following M-step formulas: ~ G; o ~ 0 , m0 , s0 , o~ :¼ E½N þ N9D
ð45Þ 1
Consider the EM algorithm for TNorm
Fðt; m, sÞ ¼
ðoFðt; m, sÞÞx exp oFðt; m, sÞ , x!
FððtmÞ=sÞ : F ðm=sÞ
ð46Þ
Unlike the EM algorithm for LNorm, samples generated before time 0 are also unobserved. Let T N~ o oT 1 o 0 be unobserved failure times before time 0, where N~ is the number of failures already experienced by t ¼0. Then unobserved data can be ~ Under the rewritten by Z T ¼ ðT N~ , . . . ,T 1 ,T K þ 1 , . . . ,T N , N,NÞ. assumption, we obtain the M-step formulas
1
"
m :¼ ~ E o
# N X 0 0 0 ~ ,m ,s , T k DT ; o ~
ð48Þ
ð49Þ
ð51Þ
T
It is worth noting that the above equations include a lefttruncated term as well as a right-truncated term. According to the above formula, we have the expected values in the M-step formulas as follows: " # N K m
X X ð1Þ ð1Þ Tm ~ , m, s ¼ ~ mF , T k DT ; o tk þ o þF E s s ~ k¼1
ð53Þ "
N X k ¼ N~
~ G; o ~ , m, s ¼ E½N þ N9D
K X
~ ð1F ðz0 ÞÞ þ o ~ F ðzK Þ, nk þ o
"
N X
ð59Þ
# ð1Þ ð1Þ K X F ðzk1 ÞF ðzk Þ ~ , m, s ¼ T k DG ; o nk F ðzk1 ÞF ðzk Þ k¼1
~ ðmF þo
ð50Þ
Also, for any measurable function hðÞ and a general failure time distribution defined on the range ð1,1Þ, the following equation holds [19,23]: " # Z 0 N K X X ~ ~ hðT k ÞDT ; o , h ¼ hðt k Þ þ o hðuÞ dFðu; hÞ E 1 k¼1 k ¼ N~ Z 1 ~ hðuÞ dFðu; hÞ: ð52Þ þo
E
tK
1
According to the above formula, we have the following E-step formulas in the case of TNorm with grouped data:
k ¼ N~
~ is a Poisson parameter for the total number of failures where o ~ into the mean on the range ð1,1Þ. Then we should change o number of failures experienced on the positive support ½0,1Þ after ~ F ð0Þ. the EM algorithm is finished, i.e., o :¼ o Similar to the posterior distribution of N, we have
k ¼ N
For any measurable function hðÞ and a general failure time distribution defined on the range ð1,1Þ, we derive the following equation: " # R tk N K n X X k tk1 hðuÞ dFðu; hÞ ~ ,h ¼ hðT k ÞDG ; o E Fðtk ; hÞFðtk1 ; hÞ k¼1 k ¼ N~ Z 0 Z 1 ~ ~ hðuÞ dFðu; hÞ þ o hðuÞ dFðu; hÞ: ð58Þ þo
E
k ¼ N
~ T; o ~ 0 , m0 , s0 ¼ K þ o ~ 0 F ðT; m0 , s0 Þ þ o ~ 0 Fð0; m0 , s0 Þ: E½N þ N9D
ð57Þ
k¼1
k ¼ N
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi " # u N X u1 0 0 0 2 t 2 ~ s :¼ ~ E T k DT ; o , m , s m , o ~
ð56Þ
k ¼ N
k ¼ N
ð47Þ
~ T; o ~ 0 , m0 , s0 , o~ :¼ E½N þ N9D
ð55Þ
# N X 0 0 0 ~ T k DG ; o , m , s , ~
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi " # u N X u1 ~ 0 , m0 , s0 m2 : s :¼ t ~ E T 2k DG ; o o ~
3.5. EM-step formulas for TNorm with failure time data
PðNðtÞ ¼ xÞ ¼
"
m :¼ ~ E o
where zk ¼ ðlog tk mÞ=s.
139
# K m
X ð2Þ ð2Þ Tm ~ , m, s ¼ ~ s2 þ m2 F : þF T 2k DT ; o t 2k þ o s s k¼1
ð54Þ
Similar to the case of EM-step formulas for LNorm with grouped data, the exact failure times are regarded as unobserved
~F ðz0 ÞÞ þ o
ð1Þ
ðzK Þ,
ð60Þ
" # ð2Þ ð2Þ N K X X F ðzk1 ÞF ðzk Þ 2 ~ , m, s ¼ T k DG ; o nk E F ðzk1 ÞF ðzk Þ ~ k¼1
k ¼ N
~ ðs2 þ m2 F þo
ð2Þ
~F ðz0 ÞÞ þ o
ð2Þ
ðzK Þ,
ð61Þ
where zk ¼ ðt k mÞ=s.
4. Numerical experiment We examine the data fitting abilities of LNorm and TNorm through numerical examples. In the experiments, we consider the standard SRGMs based on typical failure time distributions including the normal distribution. Table 1 presents the standard SRGMs and their corresponding failure time distributions. Except for TNorm, they have been proposed in the past literature. Note that all the standard SRGMs have respective stable parameter estimation procedures based on the EM algorithm [24,19,23], Table 1 The standard NHPP-based SRGMs and their failure time distributions. Model abbrv.
Failure time dist.
References
Exp Gamma Pareto TNorm LNorm TLogis LLogis TEvMax
exponential distribution gamma distribution Pareto (type II) distribution truncated normal distribution log-normal distribution truncated logistic distribution log-logistic distribution Gompertz distribution (truncated extreme-value max distribution) Frechet distribution (log-extreme-value max distribution) Gompertz distribution (truncated extreme-value min distribution) Weibull distribution (log-extreme-value min distribution)
[2] [12,13,20] [16,17] – [20] [10,23] [18,23] [26,19]
LEvMax
3.6. EM-step formulas for TNorm with grouped data
ð1Þ
TEvMin LEvMin
[19] [19] [8,19]
140
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
Table 2 Failure data information.
Table 3 AICs for SYS1, SYS2, SYS3, SS2, SS3 and SS4 with failure time data.
Data
Size (instructions)
# of failures
Model
SYS1
SYS2
SYS3
SS2
SS3
SS4
SYS1 SYS2 SYS3 SYS4 SYS5 SYS6 SYS14C SYS17 SYS27 SYS40 SS1A SS1B SS1C SS2 SS3 SS4
21,700 27,700 23,400 33,500 2,445,000 5700 (Hundreds 61,900 126,100 180,000 (Hundreds (Hundreds (Hundreds (Hundreds (Hundreds (Hundreds
136 54 38 53 831 73 36 38 41 101 112 375 277 192 278 196
Exp Gamma Pareto TNorm LNorm TLogis LLogis TEvMax LEvMax TEvMin LEvMin
1954.7 1940.2 1944.3 1961.3 1942.6 1958.3 1940.5 1957.7 1943.9 1963.8 1940.2
903.5 901.0 900.1 907.4 899.6 906.1 900.4 905.9 899.5 908.4 900.7
612.2 604.1 600.7 617.9 600.6 614.9 601.6 614.6 600.3 620.0 602.8
5232.0 5232.2 5235.3 5219.5 5242.0 5219.2 5232.1 5223.1 5254.3 5216.2 5232.3
7313.0 7313.3 7315.3 7313.0 7319.5 7312.9 7314.9 7313.3 7325.0 7313.1 7315.2
5269.7 5270.0 5271.9 5267.2 5273.0 5267.6 5270.3 5268.1 5275.9 5266.3 5273.3
of thousands)
of of of of of of
thousands) thousands) thousands) thousands) thousands) thousands)
Table 4 BICs for SYS1, SYS2, SYS3, SS2, SS3 and SS4 with failure time data.
where the EM algorithms for LNorm and TNorm are presented in the previous section of this paper. In addition, we use benchmark software failure data obtained from DACS (Data & Analysis Center for Software) that opens 16 types of software failure data to the public through the web site.1 Table 2 gives summaries of the software failure data. Furthermore, each failure data set was two data forms; failure time data and grouped data. The failure time data consist of time intervals of failure occurrences which were recorded with wall-clock time. On the other hand, the grouped data are the number of failures per working day. To measure the goodness-of-fit of the SRGMs, this paper uses two information criteria: AIC (Akaike’s information criterion) [27] and BIC (Bayesian information criterion) [28] defined as follows: AIC ¼ 2ðmaximum of log likelihoodÞ þ 2p,
ð62Þ
BIC ¼ 2ðmaximum of log likelihoodÞ þ p log m,
ð63Þ
where p is the number of free parameters and m is the number of samples. Both AIC and BIC indicate how well the model is fitted to observed samples, and the model with the small AIC or BIC is better than those with the high AIC or BIC. That is, for each set of failure data, we decide the best model by relatively comparing AICs or BICs of the estimated models. In the statical sense, AIC estimates the bias of estimator in the context of ML estimation, and BIC is an approximate value of the (unnormalized) posterior probabilities of mixture parameters for the mixture model of all the candidates. Then we say that there is a significance difference between two models if the difference of the two AICs or BICs is greater than 1. Tables 3 and 4 present AICs and BICs for the standard SRGMs in SYS1, SYS2, SYS3, SS2, SS3 and SS4, when the model parameters are estimated from failure time data. In SYS2 and SYS3, LEvMax can be selected as the best model in terms of AIC and BIC. However, the differences between LEvMax and LNorm in SYS2 and SYS3 are less than 1, i.e., there is no significant difference between them. Thus LNorm is also be selected as the fitted model that evaluates the software reliability measures in SYS2 and SYS3, instead of LEvMax. Similarly, the AICs of TNorm in SS3 and SS4 are close to the smallest AICs provided by TLogis and TEvMin, respectively, and the differences are less than 1. Hence TNorm is also fitted to SS3 and SS4 with respect to AIC. Table 5 shows the number of times that the model is selected as the fitted model in all the 16 types of DACS data with both 1
http://www.dacs.dtic.mil/databases/sled/ swrel.shtml
Model
SYS1
SYS2
SYS3
SS2
SS3
SS4
Exp Gamma Pareto TNorm LNorm TLogis LLogis TEvMax LEvMax TEvMin LEvMin
1960.6 1949.0 1953.1 1970.1 1951.4 1967.0 1949.3 1966.5 1952.6 1972.5 1949.0
907.5 907.0 906.1 913.4 905.6 912.1 906.4 911.9 905.5 914.5 906.7
615.5 609.1 605.7 622.9 605.6 619.9 606.5 619.6 605.3 625.0 607.8
5238.5 5242.0 5245.0 5229.3 5251.8 5229.0 5241.9 5232.9 5264.1 5226.0 5242.1
7320.3 7324.2 7326.2 7323.9 7330.4 7323.8 7325.8 7324.2 7335.9 7324.0 7326.1
5276.3 5279.8 5281.7 5277.1 5282.8 5277.5 5280.1 5277.9 5285.8 5276.2 5283.2
Table 5 The number of times selected as the fitted model. Model
Exp Gamma Pareto TNorm LNorm TLogis LLogis TEvMax LEvMax TEvMin LEvMin
Failure time data
Grouped data
AIC
BIC
AIC
BIC
24 32 7 11 15 13 21 14 15 15 31
41 18 6 8 14 9 12 10 14 10 18
13 32 0 17 7 24 21 18 6 25 24
28 27 0 13 7 22 18 16 6 18 19
failure time and grouped data. As seen in Tables 3 and 4, if the difference from the smallest AIC or BIC to the AIC or BIC of a model is less than 1, the model is also selected as a fitted model. From this result, it is found that Exp, Gamma, TLogis, LLogis and LEvMin are frequently selected as the best model in terms of both AIC and BIC. Except for Pareto, the other models, TNorm, LNorm TEvMax, LEvMax and TEvMin, are almost evenly selected. From the table, it can also be concluded that LNorm has the higher fitting ability than TNorm in the case of failure time data. On the other hand, TNorm is superior to LNorm in the case of grouped data. Empirically, the failure time data tend to draw not S-shaped curves but concave curves. TNorm is better at drawing S-shaped curves than concave ones. Therefore, LNorm and TNorm are better fitted to failure time data and grouped data, respectively. Also, compared with Pareto, both LNorm and TNorm were selected as
H. Okamura et al. / Reliability Engineering and System Safety 116 (2013) 135–141
the best model in the several cases. This implies that LNorm and TNorm can be members of the suitable set of candidates of SRGMs.
[5] [6] [7] [8] [9]
5. Conclusions This paper has developed the NHPP-based SRGMs with normally distributed failure times in the modeling framework of Langberg and Singpurwalla [15]. In addition, we have proposed effective parameter estimation algorithms based on EM principle. The proposed algorithms require only the calculation of c.d.f. of standard normal distribution in the cases of failure time data and grouped data. This is the great advantage of using LNorm and TNorm, and the proposed algorithm can easily be implemented in the application which does not have high computation library such as a spreadsheet application. Moreover, in the numerical experiment, we have investigated the fitting ability of proposed NHPP-based models. As a result, although the fitting abilities of TNorm and LNorm are inferior to several SRGMs such as Gamma, LLogis, TLogis and LEvMin, they were fitted to several data types observed in the real software projects. Hence, TNorm and LNorm should be needed to make the standard SRGMs which provide a suitable set of candidates of SRGMs. In future, we will develop a software reliability tool that can be executed on a spreadsheet application by using the proposed EM algorithms for SRGMs, and will enhance the algorithm for computing the information matrix to evaluate the estimation errors in the context of EM algorithms.
Acknowledgments This research was supported by Nanzan University Pache Research Subsidy I-A-2 for the 2011 academic year, the Ministry of Education, Science, Sports and Culture, Grant-in-Aid for Scientific Research (C), Grant No. 21510167 (2009–2011), Grant No. 23500047 (2011–2013) and Grant No. 23510171 (2011–2013). This paper is also an extended version of the paper [29] presented at International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering (ICQR2MSE2011), Xi’an, China, June 17– 19, 2011. References [1] Jelinski Z, Moranda PB. Software reliability research. In: Freiberger W, editor. Statistical computer performance evaluation. New York: Academic Press; 1972. p. 465–484. [2] Goel AL, Okumoto K. Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Transactions on Reliability 1979;R-28:206–211. [3] Lyu MR, editor. Handbook of software reliability engineering. New York: McGraw-Hill; 1996. [4] Musa JD, Iannino A, Okumoto K. Software reliability, measurement, prediction, application. New York: McGraw-Hill; 1987.
[10]
[11] [12] [13]
[14]
[15] [16] [17]
[18]
[19]
[20]
[21]
[22] [23]
[24]
[25]
[26]
[27]
[28] [29]
141
Musa JD. Software reliability engineering. New York: McGraw-Hill; 1999. Pham H. Software reliability. Singapore: Springer; 2000. Xie M. Software reliability modelling. Singapore: World Scientific; 1991. Goel AL. Software reliability models: assumptions, limitations and applicability. IEEE Transactions on Software Engineering 1985;SE-11:1411–1423. Musa JD, Okumoto K. A logarithmic Poisson execution time model for software reliability measurement. In: Proceedings of the 7th international conference on software engineering (ICSE-1084). IEEE CS Press/ACM, 1984. p. 230–8. Ohba M. Inflection S-shaped software reliability growth model. In: Osaki S, Hatoyama Y, editors. Stochastic models in reliability theory. Berlin: SpringerVerlag; 1984. p. 144–165. Ohba M. Software reliability analysis. IBM Journal on Research & Development 1984;28:428–443. Yamada S, Ohba M, Osaki S. S-shaped reliability growth modeling for software error detection. IEEE Transactions on Reliability 1983;R-32:475–478. Zhao M, Xie M. On maximum likelihood estimation for a general nonhomogeneous Poisson process. Scandinavian Journal of Statistics 1996;23: 597–607. Pham H, Zhang X. An NHPP software reliability models and its comparison. International Journal of Reliability, Quality and Safety Engineering 1997;4: 269–282. Langberg N, Singpurwalla ND. Unification of some software reliability models. SIAM Journal on Scientific Computing 1985;6:781–790. Littlewood B. Rationale for a modified Duane model. IEEE Transactions on Reliability 1984;R-33:157–159. Abdel-Ghaly AA, Chan PY, Littlewood B. Evaluation of competing software reliability predictions. IEEE Transactions on Software Engineering 1986;SE12:950–967. Gokhale SS, Trivedi KS. Log-logistic software reliability growth model. In: Proceedings of the 3rd IEEE international high-assurance systems engineering symposium (HASE-1998). IEEE CS Press, 1998. p. 34–41. Ohishi K, Okamura H, Dohi T. Gompertz software reliability model: estimation algorithm and empirical validation. Journal of Systems and Software 2009;82:535–543. Achcar JA, Dey DK, Niverthi M. A Bayesian approach using nonhomogeneous Poisson processes for software reliability models. In: Basu AP, Basu KS, Mukhopadhyay S, editors. Frontiers in reliability. Singapore: World Scientific; 1998. p. 1–18. Dempster AP, Laird NM, Rubin DB. Maximum likelihood from incomplete data via the EM algorithm. Journal of Royal Statistical Society B 1977;B39:1–38. Wu CFJ. On the convergence properties of the EM algorithm. Annals of Statistics 1983;11:95–103. Okamura H, Dohi T, Osaki S. EM algorithms for logistic software reliability models. In: Proceedings of the 22nd IASTED international conference on software engineering. ACTA Press; 2004. p. 263–8. Okamura H, Watanabe Y, Dohi T. An iterative scheme for maximum likelihood estimation in software reliability modeling, In: Proceedings of the 14th international symposium software reliability engineering, 2003. p. 246–56. Okamura H, Murayama A, Dohi T. EM algorithm for discrete software reliability models: a unified parameter estimation method. In: Proceedings of the 8th IEEE international symposium on high assurance systems engineering, 2004. p. 219–28. Yamada S. A stochastic software reliability growth model with Gompertz curve. Transactions of Information Processing Society of Japan (in Japanese) 1992;33:964–969. Akaike H. Information theory and an extension of the maximum likelihood principle. In: Petrov BN, Csaki F, editors. Proceedings of the 2nd international symposium on information theory. 1973. p. 267–81. Schwarz G. Estimating the dimension of a model. Annals of Statistics 1978;6:461–464. Okamura H, Dohi T, Osaki S. Software reliability growth model with normal distribution and its parameter estimation. In: Proceedings of the international conference on quality, reliability, maintenance and safety engineering (ICQR2MSE 2011). 2011. p. 424–9.