MODELING ON GENERALIZED EXTENDED INVERSE WEIBULL SOFTWARE RELIABILITY GROWTH MODEL

In this paper we introduce the generalized extended inverse Weibull finite failure software reliability growth model which includes both increasing/decreasing nature of the hazard function. The increasing/decreasing behavior of failure occurrence rate fault is taken into account by the hazard of the generalized extended inverse Weibull distribution. We proposed a finite failure non-homogeneous Poisson process (NHPP) software reliability growth model and obtain unknown model parameters using the maximum likelihood method for interval domain data. Illustrations have been given to estimate the parameters using standard data sets taken from actual software projects. A goodness of fit test is performed to check statistically whether the fitted model provides a good fit with the observed data. We discuss the goodness of fit test based on the Kolmogorov-Smirnov (K-S) test statistic. The proposed model is compared with some of the standard existing models through error sum of squares, mean sum of squares, predictive ratio risk and Akaikes information criteria using three different data sets. We show that the observed data fits the proposed software reliability growth model. We also show that the proposed model performs satisfactory better than the existing finite failure category models.


Introduction
Due to the rapid development of computer and information technology, society increasingly depends on software-intensive systems. Software is embedded in many modern systems, including expensive scientific computing systems, financial banking systems, industrial applications, university computer centers and home personal computers. Since the demands for complex and large scale software systems are increasing more rapidly, the possibility of programmers' design error in the system will grow appreciably. Consequently, the possibility of crises due to software failure will continue to increase. These failures can generate enormous losses of revenues to many enterprises. A metric is needed to enhance software quality. One such quantitative metric of quality that is commonly used in software engineering practice is software reliability.
Software reliability is a probabilistic measure and can be defined as the probability that the software faults do not cause a failure during a specified exposure period in a specified use environment. For more precise definition one can refer Goel (1985). Research activities in software reliability engineering have been conducted over the past 30 years, and many models have been developed for the estimation of software reliability [see; Wood (1996), Pham (2006), and Chen (2010)]. Hanagal and Bhalerao (2016) proposed generalized inverse Weibull software reliability growth model (SRGM). Bhalerao (2017, 2018) recently proposed extended inverse Weibull SRGM and delayed S-shaped SRGM with time dependent fault content rate function.
Traditionally there are two common types of failures data: time domain data and interval domain data. These data are usually used by practitioners when analyzing and predicting reliability applications. This paper presents the work using interval-domain data. The interval domain approach is characterized by counting the number of failures occurring during a fixed period (e.g., test session, hour, week, and day). Using this method, the collected data are a count of the number of failure in the interval. Most of the existing finite failure category models describe the failure rate either a constant, increasing or decreasing over time, for further information regarding this, one can refer Lyu (1996) and Pham (2006). In reality this may not be true because in early stage of testing, the testers are new to the software and they need time to adjust. It implies less testing of failures at the beginning of testing stage. As testing progress testers get good exposure to software resulting in increase in detection of failures, thus detection of faults increasers in this period of time. When most of the faults are eliminated and failures of software decreases as time increases.
This phenomenon of increasing/decreasing failure behaviors is not discussed much in the literature in the existing finite failure models. This motivated us for the development of a new model taking into account the increasing/decreasing behaviors of the software failures by its hazard rate function, see Hjorth (1980). The notion of failure rate is crucial in reliability and survival analysis. However, obtaining the failure rate in many practical situations is often not so simple because of the structure of the system. For instance, it can be rather complex, or the process of the failure development cannot be described in a simple way. In these case a "proper model" can help a lot in deriving reliability characteristics. The purpose of this paper is to introduce a generalized extended inverse Weibull software reliability model which includes both increasing/decreasing nature of the hazard function. The model can be effectively used for deriving and analyzing the corresponding failure rate. Reliability and other relevant measures are then computed from the fitted model.
The remainder of the paper is organized as follows: In Section 2, we describe a finite failure NHPP class of software reliability growth model (SRGM), and offer a decomposition of mean value function (MVF) to the finite failure NHPP models which enables us to relate the nature of failure intensity of the software to the hazard function and examine the suitability of some finite failure models. In Section 3, we discuss some of the existing finite failure reliability models and also we discuss the need for the development of new model which takes into account both increasing/decreasing nature of hazard function. In Section 4, we propose a generalized extended inverse Weibull finite failure NHPP model which describes the increasing/decreasing nature of the failure occurrence rate per fault and we also discuss the estimation of unknown model parameters by maximum method. The MLE's are consistent and asymptotically normally distributed as the sample size increases; see Zhao Xie (1996). In Section 5, we discuss the procedure of data analysis for software reliability assessment based on three different data sets DS I, DS II and DS III. Finally, Section 6 contains the major conclusions of the study.

Software Reliability Growth Model (SRGM)
Non-homogeneous Poisson Process (NHPP) model: During the testing phase, computer software is subject to software failures caused by errors latent in the software [Yamada (1991)]. Test data such as times of software failures or the numbers of detected errors can be observed. If it is assumed that the correction of errors does not introduce any new errors, the cumulative number of detected errors increases as they are corrected and the mean time interval between software errors becomes longer. This means that the probability of no failure occurring in a fixed time interval, that is, the reliability increases with the progress of software testing. A mathematical tool that describes such an error-detection or failure occurrence phenomenon is called a software reliability growth model (SRGM). Many SRGM's have been developed for measuring an assessing software reliability, for details readers may refer to Jelinski and Moranda (1972), Goel and Okumoto (1979), and Musa (1980). This is a class of time-domain data where software failures display the behavior of a nonhomogeneous Poisson process [see Obha and Yamada (1984)]. 3. During a small interval ∆ , the probability of exactly one failure is negligible, that is, P{two or more failure in ( , + ∆ )}= (∆ ).

The initial condition is
On the basis of these assumptions the probability of exactly failures occurring during the time interval (0, ) for the NHPP is given by: Various time domain models have been proposed in literature which describes the stochastic failure process by a NHPP. These models differ in their failure intensity function ( ) and hence ( ). The NHPP models can further be classified into finite failure and infinite failure categories. Finite failure NHPP models assume that the expected number of faults detected given infinite amount of time will be finite, whereas infinite failure models assume that an infinite number of faults that would be detected in infinite testing time.
Let denote the expected number of faults that would be given infinite testing time in case of finite failure NHPP models. Then, the MVF of the finite failure NHPP models can also be written as: where ( ) is the distribution function and = (∞). From the equation (2.1), the instantaneous failure intensity, ( ) for the finite failure NHPP model is given by: ( ) = ′( ) and this can be written as:

Some Existing NHPP Models
A number of analytical models have been proposed to address the problem of software reliability measurements. These approaches are based mainly on the failure history of software and can be classified according to nature of the failure process studied as indicated below: 1. Times between failure models 2. Failure count models 3. Fault seeding models 4. Input domain based model [Jelinski and Moranda (JM) (1972)] model comes under the class times between failure. This is one of the earliest and probably the most commonly used model for assessing software reliability. A lot of variations in the JM model are proposed to describe testing situations where faults are not removed until the occurrence of a fatal one at which time the accumulated group of faults is removed. Schick and Wolverton (1973) model is based on the same assumption as the JM model except that the hazard function is assumed to be proportional to the current fault content of the program as well as to the failure time elapsed since the last failure.
The above two models assume that the faults are removed with certainty when detected. However, in practice Thayer et al. (1976) showed that it is not always the case. To overcome this limitation, Goel and Okumoto (1979b) proposed an imperfect debugging model which is basically an extension of the JM model. Littlewood (1980) took a different approach to the development of a model for times between failures. He argued that software reliability should not be specified in terms of the number of errors in the program.
Most popular and most basic fault seeding model is Mill's (1972) hypergeometric model. This model requires that the number of faults be randomly seeded in the program to be tested. Nelson (1978) model is an input domain based model, the reliability of a software is measured by running the software for a sample of inputs. The inputs are randomly chosen from the input domain set.
Langberg and Singapurwalla (LS) (1985) have developed a model by introducing total number of program instructions or commands into the failure rate. Van Pul (1992) has considred a general class of failure rate intensity functions. A unification of SRM's is proposed by Chen and Sigapurwalla (1997) by self-exciting point process technique and they showed some of the existing models are special case of this model. Zhang et al. (2007) had introduced concept of equivalent failure time into JM model and its applications. Recently Mahapatra and Roy (2012) have developed a modified JM model which assumes the imperfect debugging process in fault removal activity during the testing phase. In this model authors assume that whenever a failure occurs, the detected fault is not perfectly removed and there is a chance of introducing new fault/s due to wrong diagnosis or incorrect modification in the software.
The failure occurrence rate per fault ℎ( ) can be a constant, increasing, decreasing, or increasing/decreasing. Here we describe some of the existing finite failure NHPP models, along with their hazard functions. The Goel-Okumoto (GO) model has received a lot of attention in the literature in software reliability modeling. Where is the expected initial fault content prior to the testing, and is the failure detection rate per fault. The failure occurrence rate per fault is constant in the case of the GO model. Musa-Okumoto model [Musa and Okumoto (1985)] is similar to the GO model, the primary difference being that it is based on execution time data, whereas the GO model uses the calendar time failure data. Table 1 gives the expressions for ( ), ( ) and ℎ( ) for the GO model.
However, in most of the real life testing scenario, the software failure intensity increases initially and then decrease. The generalized GO model [Goel (1985)] had captured this notion of increasing/decreasing nature of the failure intensity the nature of the failure occurrence rate per fault is determined by the parameter , and is increasing for > 1 and decreasing for < 1 . Table 1 gives expressions of ( ), ( ) and ℎ( ) for the Goel-Okumoto, Weibull and delayed S-shaped models. The NHPP delayed S-shaped model is a stochastic model for a software error detection process based on NHPP in which the growth curve of the number of detected software errors for the observed failure data is S-shaped, called delayed S-shaped NHPP model ]. The software reliability growth curve is an S-shaped curve which means that the curve crosses the exponential curve from below and the crossing occurs once and only once. The detection rate of faults, where error detection rate changes with time, becomes the greatest at a certain time after testing begins after which it decreases exponentially. The S-shaped SRGM captures the software error removal phenomenon in which there is a time dela between the actual detection of the fault and its reporting. The testing process in this case can be seen as consisting of two phases: fault detection and fault isolation. The expressions for ( ), ( ) and ℎ( ) for the S-shaped model are presented in Table 1.
We present graph of data set DS I only as explained in Section 6 which led us to the development of new SRMs. The data set consists of 26 failures in 250 days (DS I). The plot of hazard rate of GO models, Weibull model and S-shaped model are shown in Figure 1. The plot of hazard rates of GO models, Weibull model and S-shaped model is plotted using the estimated values of parameters given in Table 3 of the respective models that is GO, Weibull and S-shaped models.

Generalized Extended Inverse Weibull Finite Failure NHPP Model
It is well known that the Weibull distribution is one of the most widely used lifetime distribution in reliability engineering. The Weibull distribution has been used quite extensively when the data indicate a monotone hazard function (refer to Figure 1 The probability density function of extended inverse Weibull distribution is given by: and zero otherwise. Where > 0 is scale parameter and > 0 and ≥ 0 are shape parameters.
The CDF of the generalized extended inverse Weibull distribution can be defined by: The probability density function of generalized extended inverse Weibull distribution is given by: and zero otherwise. Where > 0 is scale parameter and > 0, ≥ 0 and > 0 are shape parameters.
We observe that this model has simple explicit formula and it does not involve any special functions. In this section, we develop a SRM which includes both increasing/decreasing behavior of the failure occurrence rate per fault can be taken into account by the hazard of GEIW model. The hazard rate function ℎ( ) of the generalized extended inverse Weibull SRM is given as follows:

5.Parameters Estimation
Parameter estimation is of primary importance in software reliability data analysis. We discuss statistical inference procedure for the NHPP model discussed in Section 4 based on a method of maximum likelihood which is the most important and widely used formal estimation technique. We now proceed for estimating parameters of generalized extended inverse Weibull software reliability model using interval domain data.

Estimation using interval Domain Data
Suppose that pairs of observations ( , )( = 1,2,3, … , ; 0 < 1 < 2 < ⋯ < ) are made during the testing phase where denote the number of software faults detected up to the testing time , = 1,2, … , . The corresponding probability mass function is [ ( 1 ) = 1 , ( 2 ) = 2 , … , ( ) = ] and hence the likelihood function for the interval domain data is given by , , , and equating to zero we get the likelihood equation. Closed form expressions for MLEs of , , , and cannot be obtained. However, the MLEs can be obtained by iterative solution procedure. Setting the derivatives of the log-likelihood functions for ( , , , , ) to zero, the MLEs (̂,̂,̂,̂,̂) are obtained by iterative solution procedure i.e., Newton-Raphson method. We have used Rsoftware for the iterative solution procedure. Let ̂,̂,̂,̂ and ̂ be the MLEs of , , , and respectively. Then MLE of MVF and intensity function is obtained by replacing , , , and by its MLEs ̂,̂,̂,̂ and ̂ in the equations (4.7) and (4.8) respectively. Software reliability can be estimated from the equation (4.10).

Analysis of Three Data Sets
The Data Set I is about US Naval Tactical Data Systems (NTDS) given by [Goel and Okumoto (1979a)]: the software data set was extracted from information about failures in the development of software for the real time multi-computer complex of the US Naval Fleet Computer Programming Centre of the US Naval Tactical Data System (NTDS). The software consists of 38 different project modules. The time horizon is divided into four phases: Production phase, test phase, user phase and subsequent test phase. The 26 software failures were found during the production phase, five during the test phase and the last failure was found on 4 th Jan 1971. One failure was observed during the user phase, in September 1971, and two failures during the test phase in 1971. The Data Set II is about Online Data Entry IBM Software Package: The data reported by [Obha (1984)] are recorded from testing an on-line data entry software package developed at IBM. The Data Set III is about Real-Time Command and Control System: -The data set was reported by [Musa et al. (1987)] based on failure data from a real-time command and control system, which represents the failure during system testing for 25 hours of CPU time.

Goodness of Fit Test for the GEIW Model:
It is important to perform goodness-of -fit test to check statistically whether the applied software reliability model (SRGM) provides a good fit with the observed data. We discuss The goodness of fit test based on the Kolmogorov-Smirnov (K-S) test statistics [Conover (1980)] for an NHPP model [Yamada (1991)], which is useful even if the sample size of the observed data is small. The Kolmogorov-Smirnov test statistic is given by: For the failure-occurrence time data , ( = 1,2,3, … , ). Using the value of the test statistic in the equation (6.1), p-value is computed using the formula for the sample size for the specified level of significance . If the p-value is greater then, the specified level of significance then we may conclude that the observed data fits the applied software reliability growth model (SRGM).
We used the Kolmogorov-Smirnov goodness-of-fit test for checking the adequacy of the model. For details of this test see Goel (1982). Basically, the test provides a statistical comparison between the actual data and the model proposed. This test is applied to all the three data sets DS-I, DS-II and DS-III, i.e. K-S statistics and p-values are computed from the values of K-S statistic and p-value in the Table 2, we conclude that the proposed GEIW model fits well for all the three data sets, so we conclude that the proposed model could be considered to be a good choice for the data.
Applying data sets DS I, DS II and DS III on the generalized extended inverse Weibull model discussed above, we obtain the maximum likelihood (ML) estimates and goodness of fit measures, such a sum of squares due to error (SSE), mean squares error (MSE), predictive ratio risk (PRR) [Pham and Deng (2003)] and Akaikes information criterion (AIC) for the model comparison. The values of SSE, MSE, PRR and AIC for existing and for the proposed finite failure models are summarized in Table 3  From the Table 3, we observe that the SSE, MSE, PRR and AIC values of our proposed generalized extended inverse Weibull (GEIW) model are less as compared to the existing models. Hence we conclude that our proposed model performs better than the existing models for this data set i.e., DS I.  Figure 3, we observe that the shape of the mean value function for the proposed generalized extended inverse Weibull model is closer to the shape of mean value function of the observed data, as compared to GO, Weibull and S-shaped models for data set DS I. Hence from Figure 3, we conclude that our proposed model GEIW explains the data better than GO, Weibull and S-shaped models.
From the Table 4, we observe that the SSE, MSE, PRR and AIC values of our proposed generalized extended inverse Weibull (GEIW) model are less as compared to the existing models. Hence we conclude that our proposed model performs better than the existing models for this data set i.e., DS II.  From the Table 5, we observe that the SSE, MSE, PRR and AIC values of our proposed generalized extended inverse Weibull (GEIW) model are less as compared to the existing models. Hence we conclude that our proposed model performs better than the existing models for this data set i.e., DS III.

Figure 5: Plot of Data and Estimate Cumulative Faults against Time of DS III
From the Figure 5, we observe that the shape of the mean value function for the proposed generalized extended inverse Weibull model is closer to the shape of mean value function of the observed data, as compared to GO, Weibull and S-shaped models for data set DS III. Hence from Figure 5, we conclude that our proposed model GEIW explains the data better than GO, Weibull and S-shaped models

Conclusions and Remarks
Since the existing finite failure non-homogeneous Poisson process (NHPP) models are inadequate to describe failure process underlying increasing/decreasing phenomenon, in this paper we have proposed an alternative model namely the generalized extended inverse Weibull software reliability growth model. We use decomposition of the mean value function (MVF) of finite failure NHPP model to enable us to include the increasing and decreasing nature of the failure intensity to the failure occurrence rate per fault. The model parameters are estimated using ML method by using the interval domain data type. Kolmogorov-Smirnov goodness-of-fit test is carried out for the proposed model and the proposed model fits well for all the three data sets. The different existing models and the proposed model is compared using or sum of squares due to error, mean squares error, predictive ratio risk and Akaikes information criteria. It may be observed that the proposed model performs better than the existing finite failure category models.