A Bivariate Software Reliability Model with Change-Point and Its Applications

Testing-time when a change of a stochastic characteristic of the software failure-occurrence time or software failure-occurrence time-interval is observed is called change-point. It is said that effect of the change-point on the software reliability growth process influences on accuracy for software reliability assessment based on a software reliability growth model (SRGM). We propose an SRGM with the effect of the change-point based on a bivariate SRGM, in which the software reliability growth process is assumed to depend on the testing-time and testing-effort factors simultaneously, for accurate software reliability assessment. And we discuss an optimal software release problem for deriving optimal testing-effort expenditures based on our model. Further, we show numerical examples of software reliability assessment based on our bivariate SRGM and estimation of optimal testing-effort expenditures by using actual data.


Introduction
We are required to conduct quantitative software quality/reliability assessment in terms of software quality assurance in a testing phase.And it is very important to measure software quality/reliability of the final software product with accuracy in the testing-phase.A software reliability growth model (abbreviated as SRGM) [1][2][3][4] is known as one of the useful mathematical tool for quantitative assessment of software reliability.This mathematical model enables us to describe a software reliability growth process observed in the actual testing-phase by treating the software failure-occurrence or the software fault-detection phenomenon as random variables.
Needless to say, it is preferable that the SRGMs are developed under feasible modeling assumptions, which reflect actual software failure-occurrence phenomena.Most of SRGMs proposed so far have been developed under the following assumptions: (1) the software reliability growth process depends only on the testing-time essentially, (2) the stochastic characteristics for the software failure -occurrence or the software fault-detection phenomenon does not change throughout the testing-phase.In an actual testing-phase, it is not necessarily that the common assumptions mentioned above is always appropriate.That means, it is natural to consider the software reliability growth process observed in the actual testing-phase depends on not only the testing-time but also the other software reliability growth factors, such as the testing-coverage, the testing-effort expenditures, the number of executed test-cases [5][6][7].And the stochastic characteristics for the software failure-occurrence or the software fault-detection phenomenon changes due to changing the fault-target, the difference of the fault-density for each module, and so forth [8][9][10][11][12][13][14].Especially, testing-time when the stochastic characteristic for the software failure-occurrence or the software fault-detection phenomenon notably changes is called change-point [8].
This paper discusses a bivariate SRGM with the effect of a change of the software reliability growth factors for overcoming the problem mentioned above.Our bivariate SRGM enables us to describe a software reliability growth process depending on the testing-time and the testing-effort factors, and also enables us to consider the effect of the change of the software reliability growth factors at change-point.Further, we discuss an optimal release problem for deriving optimal testing-effort expenditures based on our bivariate SRGM.Finally, we show numerical examples for two-dimensional software reliability analysis and estimation of an optimal testing-effort expenditures based on our bivariate model by using actual software fault data.

Two-Dimensional Software Reliability Growth Modeling
A bivariate SRGM in which the number of detectable faults in a software system is assumed to be finite can be developed by the following modeling assumptions [5,15,16]

 
Pr A represents the joint density function and the probability of event A, respectively.(A3) The initial number of faults in the software system, N 0 ( > 0), is a random variable, and is finite.Figure 1 shows the stochastic quantities for the twodimensional software failure-occurrence or the software fault-detection phenomenon.Now we define the twodimensional stochastic process   ( , ), 0, 0 N s u s u   [17] representing the number of faults detected in the two-dimensional space [0,s] × [0,u].Then, we have a bivariate probability mass function that faults are detected in the two-dimensional space [0,s] × [0,u] as ) from the modeling assumptions.From Equation .(1),we can say that the stochastic behavior of the software failure-occurrence or the software fault-detection phenomenon can be characterized by assuming the probability mass function for the initial number of faults in the software system, N 0 .In this paper, we assume that the initial fault content follows a Poisson distribution with parameter ω.Then we have: (2) from Equation (1).Equation ( 2) is essentially equivalent to a two-dimensional nonhomogeneous Poisson process (abbreviated as a two-dimensional NHPP) [5,6] with [ ] E  denotes the expectation.

Two-Dimensional Change-Point Modeling
We discuss a bivariate software reliability growth modeling with effect of change-point on the software reliability growth process.In our research, we extend the assumption (A2) as that the stochastic characteristics of the software failure-occurrence phenomenon is changed at change-point.And the change-point occurs just only one time throughout testing-phase for the sake of simplification of this discussion.
Let us denote the change-point for the testing-time and the testing-effort factors by { , } where u e represents the testing-effort expenditure expended up to the testing termination-time s e .To start with, we define stochastic quantities for our bivariate software reliability growth modeling with effect of the change -point as shown in Figure 2.And we assume the following relationship between the software failure-occurrence time or time-interval before the change-point and those after the change-point: where ( ) functions [18] for the testing-time and testing-effort factors, respectively.The testing-environmental function characterizes the relationship of the software failure -occurrence phenomenon before and after the changepoint.Concretely, we assume that the relationship can be formulated as: in this paper.In Equation ( 4), R and Q represent column vectors, and , where the superscript T represents the transposed matrix and m, k, x, and y are the observed data for the random variables M, K, X, and Y in Figure 2, respectively.And , which represents the relative magnitude of the effect of change-point on the software reliability growth process for each factor.Equation ( 4) is one of the examples for the testing-environmental function.However, we can get to know the effect of the change-point on the software reliability growth process simply by assuming Equation (4) as the testing-environmental function.Now we suppose that faults have been detected up to change-point and their fault data from the test-beginning have been observed as (x 0 , y 0 ), (x 1 , y 1 ), (x n , y n ), where x 0 = 0 , y 0 = 0 , 0 < x 1 < x 2 < x n ≤ τ s , and 0 < y 1 < y 2 < y n ≤ τ u .Let us suppose that the number of faults detected in the testing-territory before change-point, [0, s]×[0, u](s ≤τ s , u≤ τ u ), follows the two-dimensional NHPP in Equation (¥ref {mass3}) with mean value function Λ B (s, u).Then, the bivariate probability distribution function for the (M 1 , K 1 ), can be derived by its cofunction.The cofunction is derived as the following conditional probability: The denominator in Equation ( 5) can be derived as: based on the property of the two-dimensional NHPP.
And also, we have the numerator as: ( / , ) 2 ( , ) From Equations ( 6) and ( 7), Equation ( 5) can be written as: From Equation ( 8), the expected number of faults detected after the change-point, Λ A (s, u), is derived as: Accordingly, we have a mean value function with effect of change-point as: (10) Equation (10) imply that our bivariate change-point model for software reliability assessment can be devel- oped by assuming the two-dimensional mean value function before change-point, Λ B (s, u).

Software Reliability Assessment Measure
Software reliability assessment measures are derived by stochastic properties of the SRGM, and play an important role in quantitative software reliability assessment based on the SRGM.An operational software reliability [5] is defined as the probability that a software failure does not occur in the time-interval (s e , s e + η](s e ≥ 0, η ≥ 0) given that the testing has been going up to testing-time s e and the testing-effort has been expended up to u e by testing-time s e .From the basic notion of this measure and the stochastic properties in Equation ( 1), we can generally formulate the operational software reliability as: by using Equation (11).

Parameter Estimation
Parameters of our bivariate model with change-point for software reliability assessment can be estimated by the method of maximum-likelihood.Suppose that we have observed K data pairs (s k , u k , y k ) ( 0 with respect to the number of fault y k , which have been detected in the testing-territory [0, , for the two-dimensional stochastic process given the change-point τ can be derived as: (13) where θ represents the set of the parameter in Λ(s, u).Then, we obtain the following equation: The maximum-likelihood estimates are obtained by solving Equation ( 14) numerically.

Optimal Software Release Problem
If debugging cost before change-point and its after change-point a different each other, a trade-off problem between the effect of the change-point on the software reliability growth process and the related cost arises in a conventional optimal software release problem [19].This paper discusses an optimal problem for estimating optimal shipping time and change-point of a software system based on our model proposed in this paper.Now, we define cost parameter for formulating the expected total software cost with change-point as follows: c 1 : debugging cost for one fault before the change-point in the testing-phase (c 1 > 0), c 2 : debugging cost for one fault after the change-point in the testing-phase (c 2 > 0), c 3 : debugging cost for one fault in the operational phase (c 1 < c 3 , c 2 < c 3 ) c 4 : testing cost per arbitrary testing-time and testing-effort (c 4 > 0).Letting S, U, β s , and β u be the termination time of testing, the total testing-effort expended up to the termination time of the testing, the time duration from τ s to S, and the testing-effort expended from τ u to U, we have the expected total software cost, C(S, U, β s , β u ), as: Generally, S * , U * , β s * , and β u * , which are the cost-optimal release time, the optimal testing-effort expenditures, the optimal time duration from τ s to S * , and the optimal testing-effort expended from τ u to U * , are derived by minimizing the expected total software cost, C(S, U, β s , β u ).Therefore, S * , U * , β s * , and β u * , are obtained by solving the following equations simultaneously: We should note that Equation ( 16) is a necessary condition for the optimal solutions.Equations ( 15) and ( 16) can be simplified to an optimal testing-effort expending problem for estimating optimal testing-effort expendi- tures in the restricted testing-time.The expected total software cost for the optimal testing-effort expending problem is derived as: , , , , , where S , s  , and u  represent the given testing-time duration, β s , and β u , respectively.And c 5 is the debugging cost for one fault in the testing-phase, in which we assume that there is no difference between the debugging cost for one fault before and after the change -point.
From the basic notion in Equation ( 16), the optimal testing-effort expenditures U * needs to satisfy the following equation:

Numerical Examples
We And we set α s =α u = α for simplification and we also set by following the actual behavior of the software failure-occurrence phenomenon.Then, we estimate the parameters as  ˆ, , , a ˆb ˆz ˆ, and  ˆ, which are the estimates of  , , , a b z , and α by the method of maximum likelihood discussed in Section 5.
Figure 3 shows the two-dimensional behavior of the estimated mean value function with effect of the change-point, where τ s = 6, τ u = 12.89.In Figure 3, the dotted line represents the actual behavior of the cumulative number of detected faults and the curved surface the estimated behavior.We see that the expected number of faults is estimated to be zero outside the software failure-occurrence territory, which has been explained in Figure 2.This is one of the feature for our two -dimensional SRGM with the effect of the change-point.Further, Figure 4 shows the estimated operational software reliability, .From Figure 4, we can estimate the operational software reliability at 0.3 weeks after the termination time of the testing, , to be about 0.036.h S U in Equation ( 19) can be derived as: where respectively.We can easily see that U * can be obtained by solving the following equations:   Table 1 shows the results of the sensitivity analysis of the optimal testing-effort expenditures.From Table 1, we can say that the optimal testing-effort expenditures are getting increased as the debugging cost for one faults in the operational phase is increased.On the other hand, the optimal testing-effort expenditures are also getting increased as the testing cost per arbitrary testing-time and testing-effort is decreased.Further, Figure 5 shows the computed results for the time-dependent behavior of the expected total software cost and 2 ˆ( , ) h S U , where

Concluding Remarks
This paper discussed a bivariate software reliability growth modeling with the effect of the change-point and an optimal software release problem based on our model.Further, we showed numerical examples of software reliability analysis and an optimal testing-effort expending problem based on our model by using actual data.Our bivariate SRGM with the effect of change-point is expected to contribute high accuracy assessment of software reliability in a testing-phase.In the further studies, we have to investigate the effectiveness and validity of our model by using a lot of data sets collected from actual software development projects, and have to give a discussion on sufficient conditions for the optimal software release problem.
: (A1) Whenever a software failure is observed, the fault is detected immediately, and no new faults are introduced in the fault-detection procedures.(A2) Each software failure occurs at independently and identically distributed random times with the bivariate probability distribution function   ( , ) Pr , F s u S s U u    , where S and U are the ran dom variables representing the testing-time and cumulative testing-effort expenditure, respectively.And

Figure 1 .Figure 2
Figure 1.Stochastic quantities for the two-dimensional software failure-occurrence of fault-detection phenomenon

Figure 3 .Figure 4 .
Figure 3.Estimated two-dimensional mean value function with effect of change-point, 6 12.89 s u τ = ,τ = show numerical examples of our bivariate model and its application to an optimal software release problem.In this paper, we use actual data consisted of 19 data pairs: (s k , u k , y k )(k = 0, 1, 2,…,19; t 19 = 19(weeks), s 19 = 47.65(CPUhours, y 19 = 328) [20].And we assume that the software failure-occurrence time distribution before change-point follows the following bivariate probability distribution function [21]: we show numerical examples for an optimal release problem for deriving optimal testing-effort expenditure based on our bivariate change-point model.This problem is one of the simplified problem for our optimal software release problem.In this problem, 2 ( , )