Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPE516 Aziz Asil 17/05/2006 Software Reliability Modelling and Cost Estimation Incorporating Testing-Effort and Efficiency Chin-Yu Huang, Jung-Hua Lo,

Similar presentations


Presentation on theme: "CMPE516 Aziz Asil 17/05/2006 Software Reliability Modelling and Cost Estimation Incorporating Testing-Effort and Efficiency Chin-Yu Huang, Jung-Hua Lo,"— Presentation transcript:

1 CMPE516 Aziz Asil 17/05/2006 Software Reliability Modelling and Cost Estimation Incorporating Testing-Effort and Efficiency Chin-Yu Huang, Jung-Hua Lo, Sy-Yen Kuo and Michael R. Lyu

2 Outline About the Presentation Introduction Software Reliability Modelling Descriptions Numerical Examples Optimal Release Time Incorporating Test Efficiency Summary and Conclusion

3 About the Presentation This paper presents two important issues on software reliability modeling and software reliability economics: testing effortand efficiency. It will be discussed on how to to extend the logistic testing-effort function into a general form. This function can be used to describe the actual consumption of resources during software development process and get a conspicious improvement in modelling testing-effort expenditures.

4 About the Presentation A modified software reliability cost model will be proposed to reflect these effects. The generalized logistic testing-effort function will be incorporated into software reliability modelling and its fault-prediction capability is evaluated through four numerical experiments on real data. It will be addressed the effects of automated techniques or tools on increasing the efficiency of software testing. Finally, from the simulation results, we obtain a powerful software economic policy which clearly indicates the benefits of applying new automated testing techniques and tools during software development process.

5 Introduction Software reliablity is one of the most important features for a critical system which can affect human’s life. Therefore, it is necessary to measure and control the reliability of a software system. A number of Software Reliability Growth Models (SRGMs) have been proposed. In general, we will have more confidence in the measured software reliability with more software tests.Unfortunatily, testing with ineffective or redundant test cases may lead to excessive cost. To avoid such phenomenon, we need to know when to stop testing. One alternative is to restrict the test data such that testing will stop when the odds of detecting additional faults (estimated by SRGMs) are very low. But this may not be realistic since testers typically want to test for all possible valuable failure data, even the cost of testing is significant. In this presentation, it will be proposed a new reliability cost model that provides a means of assessing whether the software cost is under control and the software quality is improving with the time. The methods that is proposed allow the software testers and software quality assurance (SQA) engineers to decide when the software is likely to be of adequate quality for release.

6 Software Reliability Modelling Descriptions A Typical software reliability model is based on the following assumptions: 1.The fault removal process is modeled by a Non Homogenous Poission Process (NHPP). 2. The software system is subject to failures at random times caused by manifestation of remaining faults in the system. 3.The mean number of faults detected in the time interval (t, t+  t] to the current testing-effort is proportional to the mean number of remaining faults in the system at time t. 4.The proportionality is a constant over time. 5.Testing effort expenditures are described by a Logistic testing- effort function. Review of SRGM with Logistic testing-effort function

7 Software Reliability Modelling Descriptions 6.Each time a failure occurs, the fault that caused is immediately removed and no new faults are introduced. Based on the third assumption, we obtain the following differential equation: Review of SRGM with Logistic testing-effort function

8 Software Reliability Modelling Descriptions Solving the above differential equation under the boundary condition m(0)=0 (i.e., the mean value function m(t) must be equalt to zero at time 0), we have where m(t) is the expected mean number of faults detected in time (0,t] w(t) is the current testing-effort consumption at time t  is the expected number of initial faults r>0 is the error detection rate per unit testing-effort at time t. Review of SRGM with Logistic testing-effort function

9 Software Reliability Modelling Descriptions Eq. (2) is an NHPP model with mean value function considering the testing-effort consumption. w(t) represents the current testing-effort consumption (such as volume of test cases, human power, CPU time, and so on) at time t during the software testing/debugging phase. The consumed testing-effort can indicate how effective the faults are detected in the software. Review of SRGM with Logistic testing-effort function where N is total amount of testing effort to be eventually consumed,  is the consumption rate of testing-effort expenditures, and A is a constant. The current testing-effort consumption is

10 Software Reliability Modelling Descriptions The cumulative testing effort consumption of Logistic testing-effort function in time (0,t] is Review of SRGM with Logistic testing-effort function and Besides, the testing effort w(t) reaches its maximum value at time.

11 Software Reliability Modelling Descriptions The Logistic testing-effort function (i.e. The Parr model) is based on a description of the actual software development process and can be used to describe the work profile of software development.If we relax some assumptions when deriving the original Parr model and take into account the structured development effort, we obtain a generalized Logistic testing-effort function as: A generalized Logistic testing-effort function where  is a structuring index with a large value for modeling well- structured software development efforts, and  is a constant.

12 Software Reliability Modelling Descriptions If  = 1, the previous equation becomes eq (8) A generalized Logistic testing-effort function If  is viewed as a normalized constant and  =2, above equation is reduced to Eq(4)

13 Software Reliability Modelling Descriptions If  is viewed as a normalized constant and  =2, above equation is reduced to Eq(4) A generalized Logistic testing-effort function The cumulative testing effort consumption of Logistic testing- effort function in time (0,t].

14 Software Reliability Modelling Descriptions Similarly, if  =2, we have A generalized Logistic testing-effort function

15 Software Reliability Modelling Descriptions Similarly, if we set  =  +1, we get a more generalzied and plain solution for describing the cumulative testing effort consumption in time (0,t]: A generalized Logistic testing-effort function In this case, the testing effort w(t) reaches its maximum value at time

16 Numerical examples The first data set is Ohba [17]* where the testing time is measured in CPU hours. The Maximum Likelihood Estimation and Least Squares Estimation are used to estimate the parameters of Eq(2), Eq(4), Eq(10) and the they substitute calculated normalizing value for . Numerical Example 1 The estimated values of parameters for the generalzed logistic testing-effort function are listed in in Table1. *

17 Numerical examples Numerical Example 1 From Table 1,  =2.63326 is the real estimated value for the first data set and the other possible values of  are pre-calculated.

18 Numerical examples Numerical Example 1 Figure 1 depicts the fitting of the estimated current effort by using generalized logistic testing-effort function, in which they find that the peak work rate occurs when about half of the work on the project has been done. This phenomenon can be interpreted as that in a well-structured software development environment, the slope of the testing-effort consumption curve may grow slowly initially, but a compensating reduction will happen later.

19 Numerical examples Numerical Example 1 Table 2 shows the estimated values of parameters by using different SRGMs and two comperison criteria, Accuracy of Estimation (AE) and Mean of Square Fitting Faults (MSF).

20 Numerical examples The smaller MSF and AE indicate fewer number of fitting faults and better performance. From the Table 2, we know that when the value of  (structuring index ) varies from 1 to 3, both MSF and AE will be less than other existing SRGMs; therefore, it is conceivable that the proposed model has a better goodness-of-fit. Numerical Example 1

21 Numerical examples The second data set is cited from Musa et al.[4-5]*. The software were tested for 21 weeks (25.3 CPU Hours were used) and 136 faults were detected. The Maximum Likelihood Estimation and Least Squares Estimation are used to estimate the parameters of Eq(2), Eq(4), Eq(10) and the they substitute calculated normalizing value for . The estimated values for the parameters are listed in Table 3. Numerical Example 2 *

22 Numerical examples Numerical Example 2 In fact, from Table 3,  =1.27171 is the real estimated value for the second data set and the other possible values of  are pre-calculated.

23 Numerical examples Numerical Example 2 Figure 2 depicts the fitting of the estimated current effort by using generalized logistic testing-effort function.

24 Numerical examples Numerical Example 2 Table 4 shows the estimated values of parameters and the comparison results between the observed and the estimated values obtained by the other SRGMs.

25 Numerical examples Similarly, smaller AE and MSF indicate less fitting errors and better performance. We find that when the value of  (structuring index ) varies from 1.5 to 4.5, both MSF and AE will be less than other existing SRGMs. Hence, they still can conclude that the proposed model is good enough to give a more accurate description of resource consumption during the software development phase and gives a better fit in this experiment. Numerical Example 2

26 Numerical examples The third set of real data is the pattern of discovery of faults int he software that supported Space Shuttle flights STS2, STS3, STS4 at the Johnson Space Center [22]*. The system also a real-time command and control application. A weekly summary of software test hours and the faults of various severity discovered faults up to 38 weeks is 227. Similarly, the Maximum Likelihood Estimation and Least Squares Estimation are used to estimate the parameters of Eq(2), Eq(4), Eq(10) and the they substitute calculated normalizing value for . The estimated values for the parameters are listed in Table 5. Numerical Example 3 *

27 Numerical examples Numerical Example 3 In fact, from Table 5,  =1.25262 is the real estimated value for this data set and the other possible values of  are pre-calculated.

28 Numerical examples Numerical Example 3 Figure 3 depicts the fitting of the estimated current effort by using generalized logistic testing-effort function.

29 Numerical examples Numerical Example 3 Table 6 shows the estimated values of parameters by using different SRGMs and the comparison criteria. Teherefore, the estimation results of individual models show that the proposed model gives the better AE.

30 Numerical examples The fourth set of real data is the pattern of discovery of faults by Thoma [23]. The debugging time and the number of detected faults per day are reported. The cumulative number of discovered faults up to 22 days is 86 and the total consumed debugging time is 93 CPU hours. Similarly, the Maximum Likelihood Estimation and Least Squares Estimation are used to estimate the parameters of Eq(2), Eq(4), Eq(10) and the they substitute calculated normalizing value for . The estimated values for the parameters are listed in Table 7. Numerical Example 4 *

31 Numerical examples Numerical Example 4 In fact, from Table 7,  =1.76033 is the real estimated value for this data set and the other possible values of  are pre-calculated.

32 Numerical examples Numerical Example 4 Figure 4 depicts the fitting of the estimated current effort by using generalized logistic testing-effort function.

33 Numerical examples Numerical Example 4 Table 8 shows the estimated values of parameters by using different SRGMs and the comparison criteria. Teherefore, in this data set, they conclude that the proposed model gets a reasonable prediction in estimating the number of software faults and fits this data set better that others.

34 Optimal release time incorporating test efficiency Up to now I tried to describe a generalized approach to incorporate testing effort into software reliability models. In this section I will identify the efficiency of testing and study its impact on software reliability. In particular, I will explain how to incorporate testing efficiency into reliability models and how to determine the optimal software release time.

35 Optimal release time incorporating test efficiency Impact of new toolstechniques on software testing efficiency As soon as software coding is completed, the necessary but expensive testing phase starts, then if everything is o.k. software product is ready for release.Adjusting specific parameters in an SRGM and adopting the corresponding actions appropriately can help to achieve the goal of determinig the software release time. Several approaches can be applied. For example, we have discussed the applications of testing-effort control and management problem in our previous study. Using the proposed methods, we can easily control the modified consumption rate of testing-effort expenditures and detect more faults in a specified time interval. This means that the developers and testers can devote their time and resource to complete their testing tasks based on well- controlled expenditures.

36 Optimal release time incorporating test efficiency Impact of new toolstechniques on software testing efficiency To achieve a given operational quality we can use new automated testing tools and techniques. The benefits of applying new techniques and tools include increased software quality, reduced testing costs, improved release time to market, repeatable test steps, and improved testing productivity. Now, I will show how the software reliability modeling process can include testing methods, and how a new optimal software release time problem can be formulated and solved.

37 Optimal release time incorporating test efficiency Optimal software release time problem Okumoto and Goel [11]* first discussed the software optimal release policy from the cost-benefit viewpoint. The total cost of testing-effort expenditures at time T, C1(T), can be expressed as where T LC = software life-cycle length C 1 = cost of correcting an error during testing C 2 = cost of correcting an error during operation C 3 = cost of testing per unit testing-effort expenditures *

38 Optimal release time incorporating test efficiency Optimal software release time problem From the work by B. Boehm [16]*, we know C 2 >C 1. In order to detect additional faults during testing, the testers may use new automated tools or techniques, therefore, should be considered in the software cost model, including their expenditures and benefits. Consequently, we modify the overall software cost model as follows: where C 0 (T) is the cost function for developing and acquiring the automated tools and techniques that detect an additional fraction P of faults during testing. Value of C 0 (T) may change as time progress since it depends on the performance of the tool. *

39 Optimal release time incorporating test efficiency Optimal software release time problem Under the cost-benefit considerations, the automated tools or techniques will pay for themselves if That is, Rearranging the above equation, we obtain

40 Optimal release time incorporating test efficiency Optimal software release time problem Eq. (15) is used to decide whether the new automated tools or techniques are effective or not. If C 0 (T) is low enough or if the new methods are effective in detecting additional faults, this investment is worhwhile. By differentiating Eq(13) with respect to the time T we have:

41 Optimal release time incorporating test efficiency Optimal software release time problem If we let Eq (16) be equal to zero and use the mean value function in Eq(2), we can get a finite and unique solution T 0 for the determination of an optimal software release time problem based on the new cost criterion. From Eq(16), if we let C 1 (1+P)=C 1 * and C 2 (1+P)=C 2 *, then we have C1*C2* If the mean value function is placed in Eq. (17), we obtain

42 Optimal release time incorporating test efficiency Optimal software release time problem Without loss of generally, we consider several possibilities for C0(T) in order to interpret the cost consumption: (1) C 0 (T) is a constant. (2) C 0 (T) is proportional to the testing-effort expenditures. (3) C 0 (T) is exponentially related to the testing-effort expenditures.

43 Optimal release time incorporating test efficiency Optimal software release time problem

44 Optimal release time incorporating test efficiency Optimal software release time problem if

45 Optimal release time incorporating test efficiency Optimal software release time problem

46 Optimal release time incorporating test efficiency Optimal software release time problem

47 Optimal release time incorporating test efficiency Optimal software release time problem

48 Optimal release time incorporating test efficiency Numeric Example It is considered several different cases of minimizing the software cost in which the new automated tools and techniques are introduced during testing. Due to the limitation of space, Eq(10) is chosen as the testing-effort functions with different values can be similirly applied based on the same procedure.

49 Optimal release time incorporating test efficiency Numeric Example From theorem 3, the relationship of the cost optimal release time with different P is given in Table 9, it is clear that if the P value is larger, the optimal release time is larger and the total expected software cost is smaller.

50 Optimal release time incorporating test efficiency Numeric Example This reflects that when we have better testing performance, we can detect more latent faults through additional techniques and tools. Therefore we can shorten the testing time and release software soon.

51 Optimal release time incorporating test efficiency Numeric Example

52 Optimal release time incorporating test efficiency From the tables we conclue the following facts: 1)As P increases, the optimal release time T* increases but the total expected software cost C(T*) decreases. This is because we can detect more faults and reduce the cost of correcting faults during operational phase. 2)Under the same P value and with different cost functions, the larger the cost function is, the smaller the optimal rlease time is. However, the difference in estimating the total expected software cost is insignificant.

53 Summary and Conclusion This project is about the impact of software testing effort and efficiency on the modeling of software reliability. A generalized logistic testing-effort function is proposed which is used to describe the actual consumption of resources during software testing. I desribe the effects of applying new tools and techniques for increased efficiency of software testing.Finally, numerical examples are provided to demonstrate these new approaches.


Download ppt "CMPE516 Aziz Asil 17/05/2006 Software Reliability Modelling and Cost Estimation Incorporating Testing-Effort and Efficiency Chin-Yu Huang, Jung-Hua Lo,"

Similar presentations


Ads by Google