Comprehensive Evaluation of Association Measures for Software Fault Localization LUCIA, David LO, Lingxiao JIANG, Aditya BUDI Singapore Management University.

Slides:



Advertisements
Similar presentations
Delta Debugging and Model Checkers for fault localization
Advertisements

CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 18, 2008.
Test Case Filtering and Prioritization Based on Coverage of Combinations of Program Elements Wes Masri and Marwa El-Ghali American Univ. of Beirut ECE.
Sampling Large Databases for Association Rules ( Toivenon’s Approach, 1996) Farzaneh Mirzazadeh Fall 2007.
Assessment. Schedule graph may be of help for selecting the best solution Best solution corresponds to a plateau before a high jump Solutions with very.
Automated Fitness Guided Fault Localization Josh Wilkerson, Ph.D. candidate Natural Computation Laboratory.
Structure of a Research Proposal or Report INFO4990: Information Technology Research Methods DECO3008: Design Computing Prep Honours Mary Lou Maher March.
1 Identifying Bug Signatures Using Discriminative Graph Mining Hong Cheng 1, David Lo 2, Yang Zhou 1, Xiaoyin Wang 3, and Xifeng Yan 4 1 Chinese University.
A New Biclustering Algorithm for Analyzing Biological Data Prashant Paymal Advisor: Dr. Hesham Ali.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Factors to consider when Evaluating Research. Is the research hypothesis...  sufficiently specific?  clearly stated?
SIM5102 Software Evaluation
An Experimental Evaluation on Reliability Features of N-Version Programming Xia Cai, Michael R. Lyu and Mladen A. Vouk ISSRE’2005.
Factors to consider when Evaluating Research. Is the research hypothesis...  sufficiently specific?  clearly stated?
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Bulut, Singh # Selecting the Right Interestingness Measure for Association Patterns Pang-Ning Tan, Vipin Kumar, and Jaideep Srivastava Department of Computer.
© Vipin Kumar CSci 8980 Fall CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance Computing Research Center Department of Computer.
Software Bug Localization with Markov Logic Sai Zhang, Congle Zhang University of Washington Presented by Todd Schiller.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Automated Diagnosis of Software Configuration Errors
Chapter 8 Experimental Research
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Applying Science Towards Understanding Behavior in Organizations Chapters 2 & 3.
Chapter 1: Introduction to Statistics
Software Testing and Validation SWE 434
Theory and Practice, Do They Match ? A Case with Spectrum-Based Fault Localization Tien-Duy B. Le, Ferdian Thung, and David Lo School of Information Systems.
An Automated Approach to Predict Effectiveness of Fault Localization Tools Tien-Duy B. Le, and David Lo School of Information Systems Singapore Management.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
Bug Localization with Machine Learning Techniques Wujie Zheng
Eloise Forster, Ed.D. Foundation for Educational Administration (FEA)
LOGISTIC REGRESSION A statistical procedure to relate the probability of an event to explanatory variables Used in epidemiology to describe and evaluate.
EXPLOITING DYNAMIC VALIDATION FOR DOCUMENT LAYOUT CLASSIFICATION DURING METADATA EXTRACTION Kurt Maly Steven Zeil Mohammad Zubair WWW/Internet 2007 Vila.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
Quality Analysis Report Quality Assurance Activities Summary 2008/2009 IPC ISEC-DEIS.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Bug Localization with Association Rule Mining Wujie Zheng
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
Automating Readers’ Advisory to Make Book Recommendations for K-12 Readers by Alicia Wood.
Statistical analysis and discussion Vinayak Joshi Ph.D. Biomedical Engineering PI: Dr. Joseph Reinhardt Dr. Michael Abramoff.
Week 5-6 MondayTuesdayWednesdayThursdayFriday Testing III No reading Group meetings Testing IVSection ZFR due ZFR demos Progress report due Readings out.
Data Mining Association Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 6 (4) Introduction to Data Mining by Tan, Steinbach, Kumar ©
Part 4: Evaluation Days 25, 27, 29, 31 Chapter 20: Why evaluate? Chapter 21: Deciding on what to evaluate: the strategy Chapter 22: Planning who, what,
Fitness Guided Fault Localization with Coevolutionary Automated Software Correction Case Study ISC Graduate Student: Josh Wilkerson, Computer Science ISC.
Test Case Purification for Improving Fault Localization presented by Taehoon Kwak SoftWare Testing & Verification Group Jifeng Xuan, Martin Monperrus [FSE’14]
LOGISTIC REGRESSION. Purpose  Logistical regression is regularly used when there are only two categories of the dependent variable and there is a mixture.
Summary of presentation Introduction of the dissertation.
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
10/23/ /23/2017 Presented at KDD’09 Classification of Software Behaviors for Failure Detection: A Discriminative Pattern Mining Approach David Lo1,
Tung Dao* Lingming Zhang+ Na Meng* Virginia Tech*
Writing Research Proposals
Software Verification and Validation
Data Mining Association Analysis: Basic Concepts and Algorithms
Authors: Maria de Fatima Mattiello-Francisco Ana Maria Ambrosio
Chapter 8 – Software Testing
Learning Software Behavior for Automated Diagnosis
Ask the Mutants: Mutating Faulty Programs for Fault Localization
Improving Test Suites for Efficient Fault Localization
Single-Case Designs.
Test Case Purification for Improving Fault Localization
Modelling Input Data Chapter5.
Automated Fitness Guided Fault Localization
Association Analysis: Basic Concepts and Algorithms
Research Strategies: How Psychologists Ask and Answer Questions
50.530: Software Engineering
Exploring Complexity Metrics as Indicators of Software Vulnerability
Using Automated Program Repair for Evaluating the Effectiveness of
Presentation transcript:

Comprehensive Evaluation of Association Measures for Software Fault Localization LUCIA, David LO, Lingxiao JIANG, Aditya BUDI Singapore Management University

Introduction 2 Where is the fault ? A Buggy Program Automated Fault Localization Candidate of suspicious program elements Test Cases Failure

Fault Localization Techniques Many fault localization techniques have been proposed. One family of techniques: Spectrum-based fault localization (Reps et.al, 1997) Use program spectra (the representation of program behavior during execution) 3

An example of spectrum 4 Test Cases

Spectrum-based Fault Localization Idea Program element that frequently occurs in failed test case is likely to contain bug Example of existing measures : Tarantula, Ochiai, etc. 5

Spectrum-based Fault Localization 6 Test Cases

Spectrum-based Fault Localization –Tarantula (Jones and Harrold, 2005) –Ochiai (Abreu et.al, 2007) 7

Our Contributions #1 Tarantula & Ochiai model fault localization as the association between The execution of program elements with occurrence of fault We model fault localization as the association between The execution or non-execution of program elements with occurrence of fault 8

Modeling Fault Localization with Association Measures Suspiciousness score of a program element (e) is defined using an association measure (M) as follows: A Non-control element M(EXECUTION(e), FAILURE) A Control element Maximum of M(EXECUTION(e), FAILURE) and M(NON-EXECUTION(children of e), FAILURE) 9

Our Contributions #2 Evaluate the accuracies of 20 association measures for fault localization. Evaluate their relative performance as compared to Tarantula and Ochiai. 10

Existing Association Measures (Tan et.al, 2002, Geng and Hamilton, 2006, Cheng et.al.,2009) 11 Association M. 1Coefficient 2Odd Ratio 3Yule’s Q 4Yule ‘s Y 5Kappa 6J-Measure 7Gini Index 8Support 9Confidence 10Laplace Association M. 11Conviction 12Interest 13Cosine 14Piatetsky-Shapiro 15Certainty Factor 16Added Value 17Collective Strength 18Jaccard 19Klosgen 20Information Gain

Modeling Fault Localization with Association Measures 12 Block 1Execute!Execute Failed10 Passed30 Block 2Execute!Execute Failed10 Passed21

Modeling Fault Localization with Association Measures 13 Block 1Execute!Execute Failed10 Passed30 Block 2Execute!Execute Failed10 Passed21 e.g. Cosine A=Execute, B=Failed A=Not Execute B=Failed

Modeling Fault Localization with Association Measures 14

Evaluation using Siemens Dataset dad 15 Dataset LOC#Faulty Versions No. of Test Cases Print_tokens Print_tokens Replace Schedule Schedule Tcas Tot_Info Total : 120 buggy versions

Some measures are not as good as Ochiai and Tarantula. 16

Some measures are comparable Ochiai and Tarantula. 17

Improvement by Association Measure 18

Percentage of Inspected Elements 19

The Statistical Significance between Measures 20 Coefficient, Kappa, Confidence, Interest, Cosine, Added Value, Collective Strength, Jaccard, Klosgen, Information Gain, Tarantula, Ochiai Odd Ratio, Yule’s Q, Yule ‘s Y, Support, Laplace, Conviction Certainty Factor Piatetsky-Shapiro Gini Index J-Measure

Summary of Findings –Fifty percent of the association measures have good accuracies for fault localization (28-34% inspected block) –Association measures that are statistically comparable with Ochiai and Tarantula are: Coefficient, Kappa, Confidence, Interest, Cosine, Added Value, Collective Strength, Jaccard, Klosgen, Information Gain –Information Gain can localize more bugs as compare to Ochiai when 20-50% blocks are inspected. 21

Threats to Validity The effect of different granularity of instrumentation level ( Dataset for experimentation is not a large program 22 Future Work Investigate large real program Investigate the effectiveness of the measures for different types of bug

THANK YOU 23