Tom Ostrand Elaine Weyuker Bob Bell AT&T Labs – Research

Slides:



Advertisements
Similar presentations
Predictor of Customer Perceived Software Quality By Haroon Malik.
Advertisements

Software Quality Ranking: Bringing Order to Software Modules in Testing Fei Xing Michael R. Lyu Ping Guo.
MetriCon 2.0 Correlating Automated Static Analysis Alert Density to Reported Vulnerabilities in Sendmail Michael Gegick, Laurie Williams North Carolina.
1 Predicting Bugs From History Software Evolution Chapter 4: Predicting Bugs from History T. Zimmermann, N. Nagappan, A Zeller.
Mining Metrics to Predict Component Failures Nachiappan Nagappan, Microsoft Research Thomas Ball, Microsoft Research Andreas Zeller, Saarland University.
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Software Fault Prediction using Language Processing Dave Binkley Henry Field Dawn Lawrie Maurizio Pighin Loyola College in Maryland Universita’ degli Studi.
What causes bugs? Joshua Sunshine. Bug taxonomy Bug components: – Fault/Defect – Error – Failure Bug categories – Post/pre release – Process stage – Hazard.
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Metric capture notions of size and complexity.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
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.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Jean Moore, Director Center for Health Workforce Studies School of Public Health, SUNY at Albany Selected Findings from the 2007.
Automated Fault Prediction The Ins, The Outs, The Ups, The Downs Elaine Weyuker June 11, 2015.
Elaine Weyuker August  To determine which files of a large software system with multiple releases are likely to contain the largest numbers of.
Presented By : Abirami Poonkundran.  This paper is a case study on the impact of ◦ Syntactic Dependencies, ◦ Logical Dependencies and ◦ Work Dependencies.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 19: Quality Models and Measurements  Types of Quality Assessment Models  Data Requirements and Measurement  Comparing Quality Assessment Models.
Lecture 4 Software Metrics
Final Reports from the Measures of Effective Teaching Project Tom Kane Harvard University Steve Cantrell, Bill & Melinda Gates Foundation.
The complexity of modern software packages make exhaustive testing difficult. Automated testing can help to improve efficiency of the testing process.
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© What we currently know about software fault prediction: A systematic review of the fault prediction.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Maureen Doyle, James Walden Northern Kentucky University Students: Grant Welch, Michael Whelan Acknowledgements: Dhanuja Kasturiratna.
M Thomas Is the IPO Pricing Process Efficient? Michelle Lowry G William Schwert (Latest Draft February 2003)
Evolution in Open Source Software (OSS) SEVO seminar at Simula, 16 March 2006 Software Engineering (SU) group Reidar Conradi, Andreas Røsdal, Jingyue Li.
Release of Preliminary Value-Added Data Webinar August 13, 2012 Florida Department of Education.
1 The Distribution of Faults in a Large Industrial Software System Thomas Ostrand Elaine Weyuker AT&T Labs -- Research Florham Park, NJ.
Testing and Evaluating Software Solutions Introduction.
Bivariate Regression. Bivariate Regression analyzes the relationship between two variables. Bivariate Regression analyzes the relationship between two.
Defect Prediction Techniques He Qing What is Defect Prediction? Use historical data to predict defect. To plan for allocation of defect detection.
Presented at CARSP Conference
A Statistical Analysis Utilizing Detailed Institutional Data
Demographic Data Cause and Effect.
Software Testing Lab 1.
EEL5881 Software Engineering
Lurking inferential monsters
Assessment of Geant4 Software Quality
Michelle Kershner (and Dan Kernler) Elgin Community College Elgin, IL
Chapter 4 Software Process and Project Metrics
Product reliability Measuring
Software Project Sizing and Cost Estimation
3.2 (part 1)
The costs of organization
Tabulations and Statistics
I Know Where You're Hiding
Impact Analyses for VAM Scores
Personal Software Process Software Estimation
Predict Failures with Developer Networks and Social Network Analysis
Chapter 9 – Software Evolution and Maintenance
For University Use Only
Chapter 25 Process and Project Metrics
Background Form 477 Limitations
Software metrics.
Quantum molecular dynamics of the hydrated electron
Introduction Previous work Test Suite Minimization
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Chronic Absence in Oregon
Chapter 32 Process and Project Metrics
Comparing Embryology.
The BRT was made with over 5,000 trees!
Chapter 13 Multiple Regression
White Box testing & Inspections
Using Reported Data as Matching Variables in Record Linkage
Problem 5. 5 page The femur is in static equilibrium
Presentation transcript:

Tom Ostrand Elaine Weyuker Bob Bell AT&T Labs – Research Using Static Analysis to Determine Where to Focus Dynamic Testing Effort Tom Ostrand Elaine Weyuker Bob Bell AT&T Labs – Research

GOAL: Predict Which Files in a Software System are Most Likely to Contain Faults

Why is this important? Because this should allow us to build highly dependable software systems more economically by allowing us to better allocate testing effort and resources, including personnel. Prioritize testing.

Subgoal 1: Determine Whether Faults are Non-uniformly Distributed We did a large case study using 12 successive releases (about 3 years in the field) of an inventory control system containing roughly ½ million LOC

Number of Files Release Number

Distribution of Faults Percent Faulty Files Release Number

Numbers of Files and Faults Release Number

Number of Files and Number of Files Containing any Faults

Subgoal 2: Identify which characteristics are associated with the files that contained the largest numbers of faults

Considered Structural Characteristics of Software Size (LOC) Complexity (cyclomatic number) Age New to the current release, and if not, whether it was changed during prior release? The number and magnitude of changes made. The number of observed faults during earlier releases. The number of faults observed during early development stages. Programming language used.

Findings Size is the best predictor of fault-proneness when assessed in terms of number of faults; not a good predictor if considering fault density. New files and files that had been changed in the last release were significantly more likely to contain faults than files that had not changed. Other weaker factors include file age, number of faults in previous release, program type and release number.

Fault Density: New, Changed, Unchanged

Doing the Actual Prediction We used the identified characteristics, properly weighted, to build a statistical model (negative binomial regression model), and did the prediction for the releases 3 through 12.

Percent of Faults Correctly Predicted by 20% of Files Selected by Model (Average = 80%) Release

Final Thoughts Used static analysis to influence dynamic testing. By determining file fault-proneness, testers can prioritize testing effort. Now have another 5 releases to analyze, and another 2 systems. Initial indications are that results are similar or better as system ages.