1 Forecasting Field Defect Rates Using a Combined Time-based and Metrics-based Approach: a Case Study of OpenBSD Paul Luo Li Jim Herbsleb Mary Shaw Carnegie.

Slides:



Advertisements
Similar presentations
On the application of GP for software engineering predictive modeling: A systematic review Expert systems with Applications, Vol. 38 no. 9, 2011 Wasif.
Advertisements

Empirical Evaluation of Defect Projection Models for Widely-deployed Production Software Systems FSE 2004 Paul Li, Mary Shaw, Jim Herbsleb Institute for.
Bina Nusantara Model Ramalan Peretemuan 13: Mata kuliah: K0194-Pemodelan Matematika Terapan Tahun: 2008.
Predictor of Customer Perceived Software Quality By Haroon Malik.
1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.
Software Quality Ranking: Bringing Order to Software Modules in Testing Fei Xing Michael R. Lyu Ping Guo.
September 6, Achieving High Software Reliability Taghi M. Khoshgoftaar Empirical Software Engineering Laboratory Florida Atlantic.
Mining Metrics to Predict Component Failures Nachiappan Nagappan, Microsoft Research Thomas Ball, Microsoft Research Andreas Zeller, Saarland University.
W5HH Principle As applied to Software Projects
Ó 1998 Menascé & Almeida. All Rights Reserved.1 Part IV Capacity Planning Methodology.
1 Part IV Capacity Planning Methodology © 1998 Menascé & Almeida. All Rights Reserved.
Chapter 12 - Forecasting Forecasting is important in the business decision-making process in which a current choice or decision has future implications:
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
SWE Introduction to Software Engineering
Selecting a defect model for maintenance resource planning and software insurance Paul Li Carnegie Mellon University
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
1 Finding Predictors of Field Defects for Open Source Software Systems in Commonly Available Data Sources: a Case Study of OpenBSD Paul Luo Li Jim Herbsleb.
1.Explain role of demand management 2.Differentiate between demand management and forecasting 3.Describe various forecasting procedures 4.Develop forecast.
Sales Forecasting Professor Lawrence Feick University of Pittsburgh.
Applied Business Forecasting and Planning
Classification and Prediction: Regression Analysis
Demand Planning: Forecasting and Demand Management
A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction Raimund Moser, Witold Pedrycz, Giancarlo Succi.
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
Chapter 3 Forecasting McGraw-Hill/Irwin
McGraw-Hill/Irwin Copyright 2006 by The McGraw-Hill Companies, Inc.
Session 4. Applied Regression -- Prof. Juran2 Outline for Session 4 Summary Measures for the Full Model –Top Section of the Output –Interval Estimation.
CPIS 357 Software Quality & Testing
Machine Learning1 Machine Learning: Summary Greg Grudic CSCI-4830.
Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 16: Time-Series Analysis
Demand Planning: Forecasting and Demand Management CHAPTER TWELVE McGraw-Hill/Irwin Copyright © 2011 by the McGraw-Hill Companies, Inc. All rights reserved.
Using error reports in SPI Tor Stålhane IDI / NTNU.
Forecasting to account for seasonality Regularly repeating movements that can be tied to recurring events (e.g. winter) in a time series that varies around.
DAVIS AQUILANO CHASE PowerPoint Presentation by Charlie Cook F O U R T H E D I T I O N Forecasting © The McGraw-Hill Companies, Inc., 2003 chapter 9.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
M Machine Learning F# and Accord.net. Alena Dzenisenka Software architect at Luxoft Poland Member of F# Software Foundation Board of Trustees Researcher.
Time Series Analysis and Forecasting
Microsoft Reseach, CambridgeBrendan Murphy. Measuring System Behaviour in the field Brendan Murphy Microsoft Research Cambridge.
Software Prediction Models Forecasting the costs of software development.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
SOFTWARE METRICS Software Metrics :Roadmap Norman E Fenton and Martin Neil Presented by Santhosh Kumar Grandai.
© ABB Corporate Research January, 2004 Experiences and Results from Initiating Field Defect Prediction and Product Test Prioritization Efforts at.
Linear Judgment Models: What Do They Suggest About Human Judgment?
Special Challenges With Large Data Mining Projects CAS PREDICTIVE MODELING SEMINAR Beth Fitzgerald ISO October 2006.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
DEPARTMENT OF MECHANICAL ENGINEERING VII-SEMESTER PRODUCTION TECHNOLOGY-II 1 CHAPTER NO.4 FORECASTING.
Artificial Intelligence for Data Mining in the Context of Enterprise Systems Thesis Presentation by Real Carbonneau.
CHAPTER 12 FORECASTING. THE CONCEPTS A prediction of future events used for planning purpose Supply chain success, resources planning, scheduling, capacity.
CHARACTERIZING CLOUD COMPUTING HARDWARE RELIABILITY Authors: Kashi Venkatesh Vishwanath ; Nachiappan Nagappan Presented By: Vibhuti Dhiman.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Chapter 11 – With Woodruff Modications Demand Management and Forecasting Copyright © 2010 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin.
3-1Forecasting Weighted Moving Average Formula w t = weight given to time period “t” occurrence (weights must add to one) The formula for the moving average.
Data Resource Management – MGMT An overview of where we are right now SQL Developer OLAP CUBE 1 Sales Cube Data Warehouse Denormalized Historical.
Determining How Costs Behave
Software Defects Cmpe 550 Fall 2005
Machine Learning with Spark MLlib
Chapter 7. Classification and Prediction
Achieving High Software Reliability
Dr. Morgan C. Wang Department of Statistics
Predict Failures with Developer Networks and Social Network Analysis
Estimating the number of components with defects post-release that showed no defects in testing C. Stringfellow A. Andrews C. Wohlin H. Peterson Jeremy.
Finding Periodic Discrete Events in Noisy Streams
BEC 30325: MANAGERIAL ECONOMICS
Cost behaviour, cost drivers and cost estimation
Presentation transcript:

1 Forecasting Field Defect Rates Using a Combined Time-based and Metrics-based Approach: a Case Study of OpenBSD Paul Luo Li Jim Herbsleb Mary Shaw Carnegie Mellon University

2 Open Source Software Systems are Critical Infrastructure

3 Problem for Decision Makers Considering Open Source Software Systems Lack of quantitative information on open source software systems:  What is the quality?  How many defects are there?  When are they going to occur?

4 Possible Benefits of Field Defect Predictions Make informed choices between open source software systems Decide whether to adopt the latest software release Better manage resources to deal with possible defects Insure users against the costs of field defect occurrences

5 We Predict the Rate of Field Defects at the Time of Release Months after release Field defects Field defects for release 2.4

6 Months after release Field defects Field defects for release 2.4 Captured by the Model Parameters of a Software Reliability Model λ(t) = N α e – α t

7 Months after release Field defects Field defects for release 2.4 Predicting Parameters Using Metrics-based Methods λ(t) = N α e – α t i = information available before release f N (i) f a (i)

8 Months after release Field defects Field defects for release 2.4 Compare Predictions of Different Combinations

9 Talk Outline Field defect predictions can enabled quantitatively-based decisions regarding open source software systems There are good reasons for predicting the rate of field defect occurrences for software releases using a combined time- based and metrics-based approach evaluated using a real- time evaluation procedure We vary the Software Reliability Growth Model, the metrics- based prediction method, and the metrics used We evaluate our approach using OpenBSD We produce accurate predictions

10 We Take the Customer’s Perspective Predicted field defects for  Individual software changes (Mockus et al.)  Files (Ostrand et al.)  Modules (Khoshgoftaar et al.)  Entire system (Kenney) The system is what the customer sees

11 We Predict the Rate of Field Defect Occurrences Relationships: e.g. Harter et. al. Classifications: e.g. Khoshgoftaar et al. Quantities: e.g. Khoshgoftaar et al. Rates of occurrences over time: e.g. Kenny Effective quantitatively-based decision making require knowing the rate of field defect-occurrences over time

12 We Use a Novel Approach Time-based approach: Musa and Lyu Metrics-based approach: Harter et al. and Khoshgoftaar et al. We use metrics-based modeling methods to predict model parameters of software reliability growth models

13 We Cannot Fit a Model Outright Months since first defect Release date Field defects for release 2.6 Defects

14 We Evaluate Predictions Using a Real-time Evaluation Procedure Split data from the same release into fitting and testing sets e.g. Khoshgoftaar et al. Use a model fitted using data from a historical release to predict for future releases e.g. Ostrand et al. Estimate the model parameters for active historical releases using a software reliability model and the field defect data available at the time of release

15 At the Time of Release Release date of R2.7 Have predictor information Field defects Months relative to current time Field defects at release 2.7

16 Some Historical Releases Release date of R2.4 Field defects Months relative to current time Field defects at release 2.7

17 Have Complete Field Defect Information Release date of R2.4 Fitted model for R2.4λ(t) = *.25 e –.25 t Field defects Months relative to current time Field defects at release 2.7

18 Other Historical Releases are Still Active Release date of R2.5 Release date of R2.6 Field defects Months relative to current time Field defects at release 2.7

19 We Only Use Information Available at the Time of Release Field defects at release 2.7 Estimated model for R2.5 λ(t) = *.17 e –.17 t Estimated model for R2.5 λ(t) = *.14 e –.14 t Field defects Months relative to current time

20 Talk Outline Field defect predictions can enabled quantitatively-based decisions regarding open source software systems There are good reasons for predicting the rate of field defect occurrences for software releases using a combined time- based and metrics-based approach evaluated using a real- time evaluation procedure We vary the Software Reliability Growth Model, the metrics- based prediction method, and the metrics used We evaluate our approach using OpenBSD We produce accurate predictions

21 We Vary the Type of Software Reliability Growth Model Exponential model λ(t) = N α e – α t Field defect fits for release 2.6 Field defects Months since release

22 Some are More Complex Gamma model λ (t) = N β α t α-1 e – β t Field defect fits for release 2.6 Field defects Months since release

23 Post-facto Fits Show that the Weibull Model is Better Weibull model λ (t) = N α β t α-1 e – β t α Field defect fits for release 2.6 Field defects Months since release

24 Prediction Methods Tried Moving averages (Li et al.) Exponential smoothing (Li et al.) Linear modeling with model selection (Khoshgoftaar et al.) Principle component analysis, clustering, and linear modeling (Khoshgoftaar et al.) Trees (Khoshgoftaar and Seliya) Nonlinear modeling (Khoshgoftaar et al.) Neural networks (Khoshgoftaar et al.)

25 A Close Look at Moving Averages Parameter N R 2.4R2.5R Moving average 1 release:

26 Does Not Use Any Metrics Parameter N R 2.4R2.5R Moving average 2 release:

27 A Closer Look at Trees

28 Predictors Used Product metrics  Used in many prior studies e.g. Munson and Khoshgoftaar Development metrics  Used in many prior studies e.g. Khoshgoftaar et al. Deployment and usage metrics  Khoshgoftaar et al.  Mockus et al. Software and hardware configurations metrics  Mockus et al. Details in Li et al. in Metrics 2005

29 Talk Outline Field defect predictions can enabled quantitatively-based decisions regarding open source software systems There are good reasons for predicting the rate of field defect occurrences for software releases using a combined time- based and metrics-based approach evaluated using a real- time evaluation procedure We vary the Software Reliability Growth Model, the metrics- based prediction method, and the metrics used We evaluate our approach using OpenBSD We produce accurate predictions

30 OpenBSD We examine 10 releases ( ) OpenBSD is a Unix like operating system The OpenBSD project uses the Berkley copyrights The OpenBSD project puts out a release approximately every six months The OpenBSD project uses a CVS code repository The OpenBSD project uses a problem tracking system The OpenBSD project has multiple mailing lists.

31 Forecast Evaluation Parameter prediction method Historical releases: Current release: Theil forecasting statistic: √ (Σ(Actual – Predicted) 2 ) √( Σ(Actual) 2) A1A1 A2A2 Actual = (A2-A1) P2P2 Predicted = (P2-A1) Perfect forecast: P2 = A2 (Actual – Predicted) = ((A2-A1) – (A2-A1)) = 0 Theil statistic of 0 P2P2 P2P2 Uninformed forecast: P2 = A1 (Actual – Predicted) =((A2-A1) – 0) = ((A2-A1) – 0) = Actual Theil statistic of 1 Special cases:

32 Talk Outline Field defect predictions can enabled quantitatively-based decisions regarding open source software systems There are good reasons for predicting the rate of field defect occurrences for software releases using a combined time- based and metrics-based approach evaluated using a real- time evaluation procedure We vary the Software Reliability Growth Model, the metrics- based prediction method, and the metrics used We evaluate our approach using OpenBSD We produce accurate predictions and…

33 Using Only Information Before Release Field defect forecasts for release 2.7 Field defects Months since release Field defects

34 Forecast Field Defect Rates for the Next Release Field defect forecasts for release 2.7 Field defects Months since release

35 Our Forecasts are Accurate Field defect forecasts for release 2.7 Field defects Months since release

36 Theil Statistics Model, method, predictor combination R2.5R2.6R2.7R2.8R2.9R3.0R3.1R3.3R3.4AvgRange Exponential model using the moving averages method of 2 releases using no predictors Exponential model using the non- linear regression method using lines of code (same predictors as referenced work) Exponential model using the trees method splitting with six observations using all predictors Exponential model using the exponential smoothing method of five releases using no predictors Gamma model using the non- linear method using lines of code (same predictors as referenced work)

37 Exponential Model Produces Better Results 9 out of the 10 best methods ranked by average Theil use the Exponential model

38 Why? Model form is simpler λ(t) = N α e – α t λ (t) = N β α t α-1 e – β t λ (t) = N α β t α-1 e – β t Only two model parameter No power term α

39 Averaging Methods are Better Judge by average Theil  6 out of 10 use weighted averaging methods (moving averages and exponential smoothing)  2 out of 10 use trees  2 out of 10 use non-linear regression methods Trees is best if we add:  number of releases for which a method produced the best forecast  number of releases that it predicted for

40 Why? Neural network: referenced work had 188 and 226 training observations Trees: referenced work had 4648 training observations We had at most 9 observations

41 What Predictors to Use… Moving average and exponential smoothing methods used no predictors Trees method used all the predictors Non-linear regression method used lines of code

42 Why?

43 Deployment and Usage and Software and Hardware Configuration Metrics are Important MetricDefinitionPrediction used AllDefectHW Sparc Number of field defects reported against all active release during the development period that identify the machine as type Sparc parameter N for R3.0 and R3.3 LOCLines of code parameter α for R3.0 and N for R3.1 Comment Inline Number of inline comment parameter α for R3.1 and R3.3 TechMailing Number of messages to the technical mailing list during the development period parameter N for R3.4 NotCUpdate Number of updates (deltas) to files that are not c source files during the development period parameter α for R3.4

44 Talk Outline Field defect predictions can enabled quantitatively-based decisions regarding open source software systems There are good reasons for predicting the rate of field defect occurrences for software releases using a combined time- based and metrics-based approach evaluated using a real- time evaluation procedure We vary the Software Reliability Growth Model, the metrics- based prediction method, and the metrics used We evaluate our approach using OpenBSD We produce accurate predictions and…

45 Where to Go From Here? Validate results using:  Commercial systems  Other open source systems Update predictions as more data becomes available:  Bayesian approach (Liu et al.)  U-plot (Brocklehurst and Littlewood) Case studies applying our technique

46 Forecasting Field Defect Rates Using a Combined Time-based and Metrics-based Approach: a Case Study of OpenBSD Paul Luo Li Jim Herbsleb Mary Shaw Carnegie Mellon University