an empirical study on clustering for isolating bugs in fault localization

18
An Empirical Study on Clusterin for Isolating Bugs in Fault Localization Yanqin Huang 1 , Junhua Wu 2 , Yang Feng 1 , Zhenyu Chen 1 , Zhihong Zhao 1

Upload: burke

Post on 05-Jan-2016

41 views

Category:

Documents


4 download

DESCRIPTION

An Empirical Study on Clustering for Isolating Bugs in Fault Localization. Yanqin Huang 1 , Junhua Wu 2 , Yang Feng 1 , Zhenyu Chen 1 , Zhihong Zhao 1. Outline. Introduction Assumption Our Approach Experimental Design Experimental Results Conclusion. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Yanqin Huang1, Junhua Wu2, Yang Feng1, Zhenyu Chen1, Zhihong Zhao1

Page 2: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Introduction

Assumption

Our Approach

Experimental Design

Experimental Results

Conclusion

Outline

Page 3: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

SBFL: Spectrum-Based Fault Location program spectrum risk evaluation formulas Clustering: group tests

Introduction

Page 4: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

negligible effect of multiple faults

test cases have some similar behaviors if they due to the same fault

Assumption

Page 5: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

SBFL Concept

Our Approach

Figure: An example for SBFL

Page 6: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Current SBFL Techniques

Our Approach

Table: An example for SBFL

Page 7: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Cluster Algorithms Hierarchical clustering Algorithms Partitioning clustering Algorithms e.g: simple

k-means clustering

Our Approach

Page 8: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Framework

Executing Test Cases Collecting Profiles Extracting BugHit Matrix Applying Clustering Using SBFL for Fault Localization

Our Approach

Page 9: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Subject Programs

Experimental Design

Program name Number of functions

Version Test suite size

flex 205 2.0 567grep 188 3.0 809

Page 10: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Experimental Design

Page 11: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Experimental StepsInject faultsDistinguish failuresGet execution profileClusterLocate faults

Experimental Design

Page 12: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Experimental Results on the flex program

Experimental Results

Page 13: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Experimental Results on the grep program

Experimental Results

Page 14: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Observations simple k-means clustering mostly performs

better than hierarchical clustering Wong1 picked from ER5 always has the

most excellent performance comparing to other techniques

Experimental Results

Page 15: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Comparison of Wong1 from ER5 with Clustering Algorithms

Experimental Results

Page 16: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Comparison of Wong1 and Naish2

Experimental Results

Page 17: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Conclusion ER5 (Wong1) achieves the best results of

fault localization with clustering K-means outperforms hierarchical

clustering for isolating bugs in fault localization

Conclusion

Page 18: An Empirical Study on Clustering for Isolating Bugs in Fault Localization

Thank you!