THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© 2006 1 What we currently know about software fault prediction: A systematic review of the fault prediction.

Slides:



Advertisements
Similar presentations
1 A Systematic Review of Cross- vs. Within-Company Cost Estimation Studies Barbara Kitchenham Emilia Mendes Guilherme Travassos.
Advertisements

CLUSTERING SUPPORT FOR FAULT PREDICTION IN SOFTWARE Maria La Becca Dipartimento di Matematica e Informatica, University of Basilicata, Potenza, Italy
ACM International Conference on Software Engineering (ICSE) T.H. Ng, S.C. Cheung, W.K. Chan, Y.T. Yu Presented by Jason R. Beck and Enrique G. Ortiz.
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
ESEM | October 9, 2008 On Establishing a Benchmark for Evaluating Static Analysis Prioritization and Classification Techniques Sarah Heckman and Laurie.
Predictor of Customer Perceived Software Quality By Haroon Malik.
Student Learning Development, TCD1 Systematic Approaches to Literature Reviewing Dr Tamara O’Connor Student Learning Development Trinity College Dublin.
Mapping Studies – Why and How Andy Burn. Resources The idea of employing evidence-based practices in software engineering was proposed in (Kitchenham.
Software Quality Ranking: Bringing Order to Software Modules in Testing Fei Xing Michael R. Lyu Ping Guo.
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.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
What causes bugs? Joshua Sunshine. Bug taxonomy Bug components: – Fault/Defect – Error – Failure Bug categories – Post/pre release – Process stage – Hazard.
Assessing and Comparing Classification Algorithms Introduction Resampling and Cross Validation Measuring Error Interval Estimation and Hypothesis Testing.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Software Quality Metrics
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Supervised classification performance (prediction) assessment Dr. Huiru Zheng Dr. Franscisco Azuaje School of Computing and Mathematics Faculty of Engineering.
CSE 300: Software Reliability Engineering Topics covered: Software metrics and software reliability Software complexity and software quality.
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
Testing Metrics Software Reliability
Multiple Regression – Basic Relationships
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
OECD Short-Term Economic Statistics Working PartyJune Analysis of revisions for short-term economic statistics Richard McKenzie OECD OECD Short.
A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction Raimund Moser, Witold Pedrycz, Giancarlo Succi.
What is Business Analysis Planning & Monitoring?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Systematic Approaches to Literature Reviewing. The Literature Review ? “Literature reviews …… introduce a topic, summarise the main issues and provide.
Digging for diamonds: Identifying valuable web automation programs in repositories Jarrod Jackson 1, Chris Scaffidi 2, Katie Stolee 2 1 Oregon State University.
CS4723 Software Validation and Quality Assurance
An Automated Approach to Predict Effectiveness of Fault Localization Tools Tien-Duy B. Le, and David Lo School of Information Systems Singapore Management.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
CSCE 548 Secure Software Development Test 1 Review.
Basic statistics 11/09/13.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software Engineering CS3003
Presented By : Abirami Poonkundran.  This paper is a case study on the impact of ◦ Syntactic Dependencies, ◦ Logical Dependencies and ◦ Work Dependencies.
1 POP Quiz T/F Defect Removal Effectiveness and Defect Removal Models are not true Predictive Models Define DRE What is a Checklist? What is it for? What.
Introduction to Defect Prediction Cmpe 589 Spring 2008.
Agenda Review of Last week Learn about types of Research designs –How are they different from each other? From other things? Applying what you learned.
1 Experience-Driven Process Improvement Boosts Software Quality © Software Quality Week 1996 Experience-Driven Process Improvement Boosts Software Quality.
Patterns of Event Causality Suggest More Effective Corrective Actions Abstract: The Occurrence Reporting and Processing System (ORPS) has used a consistent.
Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach J. Ruthruff et al., University of Nebraska-Lincoln, NE U.S.A, Google.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
Recall What was Required in the Rationale Assignment? 1.What is the phenomenon? 2.How is it different & similar to another phenomenon? 3.When/where/how.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
CS532 TERM PAPER MEASUREMENT IN SOFTWARE ENGINEERING NAVEEN KUMAR SOMA.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Research Methods Ass. Professor, Community Medicine, Community Medicine Dept, College of Medicine.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
Improved Video Categorization from Text Metadata and User Comments ACM SIGIR 2011:Research and development in Information Retrieval - Katja Filippova -
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 5: Credibility. Introduction Performance on the training set is not a good indicator of performance on an independent set. We need to predict.
(Slides not created solely by me – the internet is a wonderful tool) SW388R7 Data Analysis & Compute rs II Slide 1.
Defect Prediction using Smote & GA 1 Dr. Abdul Rauf.
1 Data Mining Know thy tools Stop treating data miners as black boxes. Looking inside is (1) fun, (2) easy, (3) needed. 2.
CS223: Software Engineering Lecture 25: Software Testing.
Testing Integral part of the software development process.
Cs498dm Software Testing Darko Marinov January 24, 2012.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Steve Chenoweth Office Phone: (812) Cell: (937)
Regression Testing with its types
DEFECT PREDICTION : USING MACHINE LEARNING
Predict Failures with Developer Networks and Social Network Analysis
Software Metrics “How do we measure the software?”
Chapter 10 – Software Testing
Evaluating Models Part 1
Exploring Complexity Metrics as Indicators of Software Vulnerability
Presentation transcript:

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© What we currently know about software fault prediction: A systematic review of the fault prediction literature Presentation by Sarah Beecham 27 January 2010 – 3 rd CREST Open Workshop – King’s College London

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Talk will cover 1. Introduction – why are we interested in fault prediction? 2. Our research questions 3. Methodology – how we derived our 111 studies 4. The results – the context (e.g. type of system, programming lang.) emerging themes (qualitative analysis) 5. Quality assessment & Conclusions 6. Future work – unresolved questions

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Why do we need to know about Fault Prediction? Fixing faults major cost driver in software development (Tomaszewski et al. 2006). Preventing & removing faults costs $50 - $78 billion per year in US alone (Levinson 2001; Runeson and Andrews 2003). Software testing and debugging phases take up most of this spend (Di Fatta et al. 2006). Identifying faults early in lifecycle with high degree of accuracy results in.. –higher quality software –better use of resources ( Koru and Liu 2005; Bezerra et al. 2007; Oral and Bener 2007)

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Our research questions RQ1: What is the context of the fault prediction model? RQ2: What variables have been used in fault prediction models? 2.1: predictor or independent variables, e.g. size; McCabe 2.2: dependent variables –faults RQ3:What modelling approaches have been used in the development of fault prediction models? RQ4: How do studies measure performance of their models? RQ5: How well do fault prediction models predict faults in code?

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Methodology (1)– Search Terms and Resources; selection criteria Search terms and string (Fault* OR bug* OR corrections OR corrective OR fix* OR defect*) in title AND (Software) anywhere Sources/ databases: ACM Digital library; IEEEXplore key conferences; e.g. (ICSM); (SCAM); (ISSTA) ; key authors; +.. Include study if: Empirical; Focused on fault prediction; predictor variable (input)linked to code as output; faults in code main output (dependent variable) Exclude study if: testing, fault injection, inspections, reliability modelling, aspects, effort estimation, nano-computing.. List added to when conducting the review

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Methodology (2) Study Acceptance – 111 papers Selection Process# of papers Papers extracted from databases, conferences & author names 1,316 Sift based on Title and Abstract-1154 rejected Papers considered for review (full papers downloaded & reviewed) 162 primary 80 secondary Papers accepted for the review (qualitative meta-analysis performed) 111 papers accepted papers [TH1] Need to comment on imbalance here[TH1] Each stage independently validated – 3 researchers involved Meta-analysis/themes underpinned by previous SLRs

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Approaches to Fault prediction components: LERO© CONTEXT E.g. Type of System (NASA project, Telecomms,..); Programming Language (C++, Java, …); Development process (Waterfall, Agile,..) Programmer expertise. Input Variable (Independent Variable) e.g. complexity metrics, module size, even faults themselves Modelling method e.g. regression, machine learning, correlation, BBN Output Variable (Dependent Variable) Fault prone (fp) /not fault prone (nfp) unit OR Number of faults; fault density, ranking model predicts where fault will occur in the code with a % of accuracy.. – however this alone has little meaning – we need to know when the model predicts a fault that IS NOT there, and when a model doesn’t pick up a fault that IS there.

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Results … context first (RQ1) LERO© Origin of data, a large proportion from NASA promise repository

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE C/C++, 54% Java, 26% Various, 4% Other, 7% Not given,9% Key: ‘Other’ languages include Assembly, Fortran and Protel Context (2)–Programming Language LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Independent or ‘predictor’ Variables (RQ2.1) LERO© Miscellaneous, 16% Static Code Metrics, 43% Dynamic Code Metrics, 2% Change Data, 20% Previous Fault Information, 19% Key: Miscellaneous category includes code patterns, testing and inspection metrics, qualitative data, and function points...

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Code Granularity LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Dependent Variables – Faults (RQ2.2) LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Modelling approaches used to develop fault prediction models (RQ3) LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Positive Performances (RQ5) LERO© Positive results reported in 86 out of 107 studies

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Quality Assessment Does the study report whether results are significant? Does study recognize/address imbalanced dataset problem? How has the performance of the model been assessed? How has the model been validated?

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Significance Test results studies – 47% conducted significance tests some selected metrics based on their significance 53% of studies did not report such a test. No certainty that model outputs are statistically significant in over half the papers in this study

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Few studies balance data LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© Performance measurements MeasureConstructs and Definitions Confusion Matrix constructs True Positive (TP), True Negative (TN), False Positive (FP), False Negative (FN), Type I Error, Type II Error Confusion Matrix composite measures Recall, Precision, Specificity, Accuracy, Sensitivity, Balance, F-measure Based on concept of code being faulty or not faulty Other measures: Descriptive statistics (e.g. frequencies, means, ratios); Regression coefficients, significance tests

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Performance indicator frequency LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Generalisability of the models – Validation LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Features identified as helpful to fault prediction… LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE Final Remarks… To allow cross comparison of models we need: A standard format to report model performance To report false positives and false negatives Understand that reporting one measure can be misleading –trade-off between accuracy, precision and recall (composite measures) Access to reliable quality data (next talk..) LERO©

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© thank you

THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRELERO© REFERENCES