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

Slides:



Advertisements
Similar presentations
Chapter 2 The Process of Experimentation
Advertisements

Assumptions underlying regression analysis
Running a model's adjoint to obtain derivatives, while more efficient and accurate than other methods, such as the finite difference method, is a computationally.
Brief introduction on Logistic Regression
CHEMICAL AND PHASE EQUILIBRIUM (1)
Experimental Design, Response Surface Analysis, and Optimization
Introduction to Research Methodology
1 Software Reliability Growth Models Incorporating Fault Dependency with Various Debugging Time Lags Chin-Yu Huang, Chu-Ti Lin, Sy-Yen Kuo, Michael R.
Simple Linear Regression
Chapter 5 Heteroskedasticity. What is in this Chapter? How do we detect this problem What are the consequences of this problem? What are the solutions?
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
Excellence Justify the choice of your model by commenting on at least 3 points. Your comments could include the following: a)Relate the solution to the.
Development of Empirical Models From Process Data
1 Simple Linear Regression Chapter Introduction In this chapter we examine the relationship among interval variables via a mathematical equation.
Chapter 11 Multiple Regression.
Inferences About Process Quality
Differential Equations 7. The Logistic Equation 7.5.
Statistics for Managers Using Microsoft® Excel 7th Edition
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Overview Software Quality Assurance Reliability and Availability
Objectives of Multiple Regression
Graph-based consensus clustering for class discovery from gene expression data Zhiwen Yum, Hau-San Wong and Hongqiang Wang Bioinformatics, 2007.
FOOD ENGINEERING DESIGN AND ECONOMICS
1 Doing Statistics for Business Doing Statistics for Business Data, Inference, and Decision Making Marilyn K. Pelosi Theresa M. Sandifer Chapter 11 Regression.
Pop Quiz How does fix response time and fix quality impact Customer Satisfaction? What is a Risk Exposure calculation? What’s a Scatter Diagram and why.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Least-Squares Regression
Linear Regression and Correlation
Ch 8.1 Numerical Methods: The Euler or Tangent Line Method
9 DIFFERENTIAL EQUATIONS.
Introduction to Statistical Inferences
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
1 Least squares procedure Inference for least squares lines Simple Linear Regression.
On Model Validation Techniques Alex Karagrigoriou University of Cyprus "Quality - Theory and Practice”, ORT Braude College of Engineering, Karmiel, May.
Software Reliability SEG3202 N. El Kadri.
Chapter 1 Computing Tools Analytic and Algorithmic Solutions Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 12 Statistical Inference (Estimation) Point and Interval estimation By Aziza Munir.
Fundamentals of Data Analysis Lecture 9 Management of data sets and improving the precision of measurement.
Section 8.1 Estimating  When  is Known In this section, we develop techniques for estimating the population mean μ using sample data. We assume that.
Copyright © 2015, 2011, 2008 Pearson Education, Inc. Chapter 8, Unit C, Slide 1 Exponential Astonishment 8.
Statistics for Managers Using Microsoft Excel, 5e © 2008 Pearson Prentice-Hall, Inc.Chap 8-1 Statistics for Managers Using Microsoft® Excel 5th Edition.
VI. Evaluate Model Fit Basic questions that modelers must address are: How well does the model fit the data? Do changes to a model, such as reparameterization,
The Examination of Residuals. Examination of Residuals The fitting of models to data is done using an iterative approach. The first step is to fit a simple.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
1 Chapter 12 Simple Linear Regression. 2 Chapter Outline  Simple Linear Regression Model  Least Squares Method  Coefficient of Determination  Model.
CHAPTER 3 Model Fitting. Introduction Possible tasks when analyzing a collection of data points: Fitting a selected model type or types to the data Choosing.
Y X 0 X and Y are not perfectly correlated. However, there is on average a positive relationship between Y and X X1X1 X2X2.
Chapter 4 Linear Regression 1. Introduction Managerial decisions are often based on the relationship between two or more variables. For example, after.
Chin-Yu Huang Department of Computer Science National Tsing Hua University Hsinchu, Taiwan Optimal Allocation of Testing-Resource Considering Cost, Reliability,
1 11 Simple Linear Regression and Correlation 11-1 Empirical Models 11-2 Simple Linear Regression 11-3 Properties of the Least Squares Estimators 11-4.
Chapter 8: Simple Linear Regression Yang Zhenlin.
© Copyright McGraw-Hill 2004
Ch 8.2: Improvements on the Euler Method Consider the initial value problem y' = f (t, y), y(t 0 ) = y 0, with solution  (t). For many problems, Euler’s.
Copyright © Cengage Learning. All rights reserved. 9 Differential Equations.
©The McGraw-Hill Companies, Inc. 2008McGraw-Hill/Irwin Linear Regression and Correlation Chapter 13.
The inference and accuracy We learned how to estimate the probability that the percentage of some subjects in the sample would be in a given interval by.
5. Evaluation of measuring tools: reliability Psychometrics. 2011/12. Group A (English)
Best in Market Pricing. What is Best in Market Pricing ? An extension of parametric modeling for negotiating lowest pricing for a statement of work consisting.
Virtual University of Pakistan
Stats Methods at IC Lecture 3: Regression.
More Multiple Regression
Software Testing An Introduction.
Software Reliability Models.
Critical Systems Validation
More Multiple Regression
More Multiple Regression
YuankaiGao,XiaogangLi
Objectives 6.1 Estimating with confidence Statistical confidence
Presentation transcript:

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

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

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.

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.

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.

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

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

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

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

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.

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.

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)

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].

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

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

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. *

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

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.

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).

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

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 *

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

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

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.

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

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 *

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

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

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.

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 *

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

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

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.

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.

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.

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.

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 *

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. *

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

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:

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

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.

Optimal release time incorporating test efficiency Optimal software release time problem

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

Optimal release time incorporating test efficiency Optimal software release time problem

Optimal release time incorporating test efficiency Optimal software release time problem

Optimal release time incorporating test efficiency Optimal software release time problem

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.

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.

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.

Optimal release time incorporating test efficiency Numeric Example

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.

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.