SlideShare a Scribd company logo
Evaluating the Usefulness
of IR-Based Fault
Localization Techniques
Qianqian Wang* Chris Parnin** Alessandro Orso*
* Georgia Institute of Technology, USA
** North Carolina State University, USA
Debugging is Difficult
Debugging is Difficult
Let’s&see…&
Over&50&years&of&research&
on&automated&debugging.&
Debugging is Difficult
Let’s&see…&
Over&50&years&of&research&
on&automated&debugging.&
1962.&Symbolic&Debugging&(UNIVAC&FLIT)&
1981.%Weiser.%Program%Slicing%
1999.$Delta$Debugging$
2001.%Sta)s)cal%Debugging%
�����������������������������
Debugging is Difficult
Let’s&see…&
Over&50&years&of&research&
on&automated&debugging.&
1962.&Symbolic&Debugging&(UNIVAC&FLIT)&
1981.%Weiser.%Program%Slicing%
1999.$Delta$Debugging$
2001.%Sta)s)cal%Debugging%
�����������������������������
STILL
IR-Based FL Techniques
• How do they work?
• Rank source files based on their lexical similarity to bug
reports

• How well do they work?
Top 1 Top 5 Top 10
Percentage 35% 58% 69%
Source code file: CTabFolder.java
public class CTabFolder extends Composite {
// tooltip
int [] toolTipEvents = new int[] {SWT.MouseExit,
SWT.MouseHover, SWT.MouseMove,
SWT.MouseDown, SWT.DragDetect};
Listener toolTipListener;
…
/ * Returns <code>true</code> if the CTabFolder
only displys the selected tab
* and <code>false</code> if the CTabFolder
displays multiple tabs.
*/
…void onMouseHover(Event event) {
showToolTip(event.x, event.y);
}
void onDispose() {
inDispose = true;
hideToolTip();
…
}
}
Understanding IR-based FL Techniques
Bug ID: 90018
Summary: Native tooltips left around on
CTabFolder.
Description: Hover over the PartStack
CTabFolder inside eclipse until some native
tooltip is displayed. For example, the
maximize button. When the tooltip appears,
change perspectives using the keybinding.
the CTabFolder gets hidden, but its tooltip
is permanently displayed and never goes
away. Even if that CTabFolder is disposed
(I'm assuming) when the perspective is
closed.
--------------------------------------------------------------------------
Source code file: CTabFolder.java
public class CTabFolder extends Composite {
// tooltip
int [] toolTipEvents = new int[] {SWT.MouseExit,
SWT.MouseHover, SWT.MouseMove,
SWT.MouseDown, SWT.DragDetect};
Listener toolTipListener;
…
/ * Returns <code>true</code> if the CTabFolder
only displys the selected tab
* and <code>false</code> if the CTabFolder
displays multiple tabs.
*/
…void onMouseHover(Event event) {
showToolTip(event.x, event.y);
}
void onDispose() {
inDispose = true;
hideToolTip();
…
}
}
Understanding IR-based FL Techniques
Bug ID: 90018
Summary: Native tooltips left around on
CTabFolder.
Description: Hover over the PartStack
CTabFolder inside eclipse until some native
tooltip is displayed. For example, the
maximize button. When the tooltip appears,
change perspectives using the keybinding.
the CTabFolder gets hidden, but its tooltip
is permanently displayed and never goes
away. Even if that CTabFolder is disposed
(I'm assuming) when the perspective is
closed.
--------------------------------------------------------------------------
• Does the presence of technical information affect the fault
localization results?
• How often do bug reports contain such information?
• Is such information enough for developers to find the faulty
files easily?
Assessing IR-based FL Techniques
Analytical Study User Study
• Q1: Does technical information affect fault
localization results?
• Q2: How often do bug reports contain
technical information?
Analytical Study
Subjects
Project # Bugs #Source file
AspectJ 286 6k
SWT 98 0.5k
ZXing 20 0.4k
Jodatime 9 0.2k
• Categorize bug reports
• Stack traces/test cases/program entity names/natural
language descriptions
• Generate ranked lists
• BugLocator - IR-based fault localization tool
• Perform statistical analysis
Q1: Method
Q1: Results
Program
entity
Stack
trace
Test case
Results √ X X
• Does bug report information affect fault
localization results?
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Q1: Results
Program
entity
Stack
trace
Test case
Results √ X X
• Does bug report information affect fault
localization results?
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Q1: Results
Program
entity
Stack
trace
Test case
Results √ X X
• Does bug report information affect fault
localization results?
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Bug report characteristics affect IR-based
fault localization results
• How often bug reports contain technical
information?
• Select 10,000 bug reports from SWT Bugzilla
• Check presence of technical information:
• Stack traces
• Test cases
• Program entity names
Q2: Method
• How often bug reports contain technical
information?
Q2: Results
Stack traces Test cases
Program
entity
Percentage 10% 3% 32%
• How often bug reports contain technical
information?
Q2: Results
Stack traces Test cases
Program
entity
Percentage 10% 3% 32%
• How often bug reports contain technical
information?
Q2: Results
Stack traces Test cases
Program
entity
Percentage 10% 3% 32%
The majority bug reports do not contain
enough information
Additional finding
“Optimistic” Evaluation Approach
• Assumption: Changed files = faulty files
• Reality:
• 40% bugs contain multiple changed files
• Not all changed files contain bugs
• Best-ranked files may not be faulty
Additional finding
“Optimistic” Evaluation Approach
• Assumption: Changed files = faulty files
• Reality:
• 40% bugs contain multiple changed files
• Not all changed files contain bugs
• Best-ranked files may not be faulty
Results of existing studies might be
worse than what reported
• Q3: Does bug report information affect
developers’ performance?
• Q4: Do IR-based techniques help developers’
performance?
User Study
Experiment Protocol: Setup
Participants:
70 developers
Graduate Students
Software subject:
• Eclipse SWT
• 2 bugs for each developer
Task: find and fix the bug
Tools:
• Eclipse plug-in
• Integrating ranked lists
• Logging
…"
1)"
2)"
3)"
4)"
✔
✔
✔
Experimental Protocol: Variables
Bug related
Tool related
Experimental Protocol: Variables
1) ———
2) ———
3) ———
4) ———
…
1) ———
2) ———
3) ———
4) ———
…
Good/bad ranked list
Good/bad bug report
With/without a ranked list
Bug related
Tool related
(i.e., with/without the tool)
Experimental Protocol: Evaluation Metrics
Time
• To find the faulty file
• To locate the bug
Debugging score
Q3: Results
Time used to find
the faulty file
Time used to locate
the bug
Debugging score
√ X √
Compared the performance of 2 groups:

1. without tool, good bug reports

2. without tool, bad bug reports
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Q3: Results
Time used to find
the faulty file
Time used to locate
the bug
Debugging score
√ X √
Compared the performance of 2 groups:

1. without tool, good bug reports

2. without tool, bad bug reports
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Q3: Results
Time used to find
the faulty file
Time used to locate
the bug
Debugging score
√ X √
Compared the performance of 2 groups:

1. without tool, good bug reports

2. without tool, bad bug reports
Good bug reports (i.e., with entity names) allow
developers to shorten the time to find the
faulty file and help them find better fixes
√ Statistically significant difference: p < 0.05
X No statistically significant difference: p >= 0.05
Q4: Results
Condition
Debugging
score
Time to find
the file
Time to locate
the bug
X X X
X √ X
X X X
X X X
Compared the performance of 2 groups under 4 conditions:

1. without tool, {good|bad} bug reports, {good|bad} ranked list

2. with tool, {good|bad} bug reports, {good|bad} ranked list
Q4: Results
Condition
Debugging
score
Time to find
the file
Time to locate
the bug
X X X
X √ X
X X X
X X X
Compared the performance of 2 groups under 4 conditions:

1. without tool, {good|bad} bug reports, {good|bad} ranked list

2. with tool, {good|bad} bug reports, {good|bad} ranked list
Good ranked

list
Bad ranked

list
Good bug

report
Bad bug

report
X Not statist, sign.
√ Statist. significant
Q4: Results
Condition
Debugging
score
Time to find
the file
Time to locate
the bug
X X X
X √ X
X X X
X X X
Compared the performance of 2 groups under 4 conditions:

1. without tool, {good|bad} bug reports, {good|bad} ranked list

2. with tool, {good|bad} bug reports, {good|bad} ranked list
Good ranked

list
Bad ranked

list
Good bug

report
Bad bug

report
X Not statist, sign.
√ Statist. significant
Q4: Results
Condition
Debugging
score
Time to find
the file
Time to locate
the bug
X X X
X √ X
X X X
X X X
Compared the performance of 2 groups under 4 conditions:

1. without tool, {good|bad} bug reports, {good|bad} ranked list

2. with tool, {good|bad} bug reports, {good|bad} ranked list
Good ranked

list
Bad ranked

list
Good bug

report
Bad bug

report
X Not statist, sign.
√ Statist. significant
Only perfect ranked lists help when users
can not get enough hints from bug reports
Q4: Results
Condition
Debugging
score
Time to find
the file
Time to locate
the bug
X X X
X √ X
X X X
X X X
Compared the performance of 2 groups under 4 conditions:

1. without tool, {good|bad} bug reports, {good|bad} ranked list

2. with tool, {good|bad} bug reports, {good|bad} ranked list
Good ranked

list
Bad ranked

list
Good bug

report
Bad bug

report
X Not statist, sign.
√ Statist. significant
Only perfect ranked lists help when users
can not get enough hints from bug reports
The tool only helps find the faulty file, but
developers spend much more time locating
the bug in the faulty file than finding such file
Additional Observations
• Developers used program entity names in the
bug report as search keywords.
• Ranked lists generated by IR-based techniques
affected users’ debugging behavior
• Gave a starting point
• Gave them confidence
Summary
• Studied the practical usefulness of IR-based FL techniques
• Performed both an analytical study and a user study
• Main findings
• Bug report characteristics affect IR-based fault localization results
• Results of existing studies might be worse than what reported
• The majority of bug reports do not contain enough information
• “Good” bug reports allow developers to shorten the time to find the
faulty file and help them find better fixes
• Only perfect ranked lists help when users can not get enough hints from
bug reports
• The tool only helps find the faulty file, but developers spend much more
time locating the bug in the faulty file than finding such file
Implications
• Better bug reports are needed
• Automated debugging techniques should focus
on improving results for bug reports with little
information
• Automated debugging techniques should
provide finer-grained information and context
• More user studies and realistic evaluations are
needed

More Related Content

What's hot

Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Tao Xie
 
Binary Analysis - Luxembourg
Binary Analysis - LuxembourgBinary Analysis - Luxembourg
Binary Analysis - Luxembourg
Abhik Roychoudhury
 
Reproducibility for IR evaluation
Reproducibility for IR evaluationReproducibility for IR evaluation
Reproducibility for IR evaluation
Research Data Alliance
 

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...
Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...
Giorgio Di Nunzio
 
Quantifying the Value of Static Analysis
Quantifying the Value of Static AnalysisQuantifying the Value of Static Analysis
Quantifying the Value of Static Analysis
TechWell
 
Barga Data Science lecture 8
Barga Data Science lecture 8Barga Data Science lecture 8
Barga Data Science lecture 8
Roger Barga
 
Barga Data Science lecture 3
Barga Data Science lecture 3Barga Data Science lecture 3
Barga Data Science lecture 3
Roger Barga
 
Log-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test CasesLog-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test Cases
Lionel Briand
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
David Rosenblum
 
20181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday201820181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday2018
STAMP Project
 

What's hot (11)

Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
 
Binary Analysis - Luxembourg
Binary Analysis - LuxembourgBinary Analysis - Luxembourg
Binary Analysis - Luxembourg
 
Reproducibility for IR evaluation
Reproducibility for IR evaluationReproducibility for IR evaluation
Reproducibility for IR evaluation
 
Sporar
SporarSporar
Sporar
 

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...
Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...

Query Performance Prediction by Means of Intent-Aware Metrics in Systematic ...
 
Quantifying the Value of Static Analysis
Quantifying the Value of Static AnalysisQuantifying the Value of Static Analysis
Quantifying the Value of Static Analysis
 
Barga Data Science lecture 8
Barga Data Science lecture 8Barga Data Science lecture 8
Barga Data Science lecture 8
 
Barga Data Science lecture 3
Barga Data Science lecture 3Barga Data Science lecture 3
Barga Data Science lecture 3
 
Log-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test CasesLog-Based Slicing for System-Level Test Cases
Log-Based Slicing for System-Level Test Cases
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
 
20181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday201820181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday2018
 

Viewers also liked

ACO_Recommandation Letter 2015
ACO_Recommandation Letter 2015ACO_Recommandation Letter 2015
ACO_Recommandation Letter 2015Aurelie Mongrard
 
Intro to Pecha Kucha
Intro to Pecha KuchaIntro to Pecha Kucha
Intro to Pecha Kucha
Rob Gallo
 
A single phase grid-connected fuel cell system based on a boost-inverter
A single phase grid-connected fuel cell system based on a boost-inverterA single phase grid-connected fuel cell system based on a boost-inverter
A single phase grid-connected fuel cell system based on a boost-inverterEcwayt
 
Mcq6 ac-mosfet-amplifier
Mcq6 ac-mosfet-amplifierMcq6 ac-mosfet-amplifier
Mcq6 ac-mosfet-amplifier
Bharti Airtel Ltd.
 
Java fx ap is
Java fx ap isJava fx ap is
Java fx ap is
Tom Schindl
 
Field Failure Reproduction Using Symbolic Execution and Genetic Programming
Field Failure Reproduction Using Symbolic Execution and Genetic ProgrammingField Failure Reproduction Using Symbolic Execution and Genetic Programming
Field Failure Reproduction Using Symbolic Execution and Genetic Programming
Alex Orso
 
Nash Equilibrium
Nash EquilibriumNash Equilibrium
Nash Equilibrium
iosrjce
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
Fadi Stephan
 
An engineers guide 2012 making maintenance matter, pruftechnik
An engineers guide 2012 making maintenance matter, pruftechnikAn engineers guide 2012 making maintenance matter, pruftechnik
An engineers guide 2012 making maintenance matter, pruftechnik
Akın Azmak
 
How to Get My Paper Accepted at Top Software Engineering Conferences
How to Get My Paper Accepted at Top Software Engineering ConferencesHow to Get My Paper Accepted at Top Software Engineering Conferences
How to Get My Paper Accepted at Top Software Engineering Conferences
Alex Orso
 
Sinclair.macro economicforecasting
Sinclair.macro economicforecastingSinclair.macro economicforecasting
Sinclair.macro economicforecastingTara Sinclair
 

Viewers also liked (14)

ACO_Recommandation Letter 2015
ACO_Recommandation Letter 2015ACO_Recommandation Letter 2015
ACO_Recommandation Letter 2015
 
Intro to Pecha Kucha
Intro to Pecha KuchaIntro to Pecha Kucha
Intro to Pecha Kucha
 
A single phase grid-connected fuel cell system based on a boost-inverter
A single phase grid-connected fuel cell system based on a boost-inverterA single phase grid-connected fuel cell system based on a boost-inverter
A single phase grid-connected fuel cell system based on a boost-inverter
 
Viewpoint_Issue_9
Viewpoint_Issue_9Viewpoint_Issue_9
Viewpoint_Issue_9
 
Srinaga_Kalapatapu_Updated
Srinaga_Kalapatapu_UpdatedSrinaga_Kalapatapu_Updated
Srinaga_Kalapatapu_Updated
 
Mcq6 ac-mosfet-amplifier
Mcq6 ac-mosfet-amplifierMcq6 ac-mosfet-amplifier
Mcq6 ac-mosfet-amplifier
 
presentation
presentationpresentation
presentation
 
Java fx ap is
Java fx ap isJava fx ap is
Java fx ap is
 
Field Failure Reproduction Using Symbolic Execution and Genetic Programming
Field Failure Reproduction Using Symbolic Execution and Genetic ProgrammingField Failure Reproduction Using Symbolic Execution and Genetic Programming
Field Failure Reproduction Using Symbolic Execution and Genetic Programming
 
Nash Equilibrium
Nash EquilibriumNash Equilibrium
Nash Equilibrium
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
An engineers guide 2012 making maintenance matter, pruftechnik
An engineers guide 2012 making maintenance matter, pruftechnikAn engineers guide 2012 making maintenance matter, pruftechnik
An engineers guide 2012 making maintenance matter, pruftechnik
 
How to Get My Paper Accepted at Top Software Engineering Conferences
How to Get My Paper Accepted at Top Software Engineering ConferencesHow to Get My Paper Accepted at Top Software Engineering Conferences
How to Get My Paper Accepted at Top Software Engineering Conferences
 
Sinclair.macro economicforecasting
Sinclair.macro economicforecastingSinclair.macro economicforecasting
Sinclair.macro economicforecasting
 

Similar to Evaluating the Usefulness of IR-Based Fault LocalizationTechniques

Practitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault LocalizationPractitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault Localization
Pavneet Singh Kochhar
 
Patterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug ReportsPatterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug Reports
Rodrigo Rocha
 
Software testing foundation
Software testing foundationSoftware testing foundation
Software testing foundation
Anirudh503501
 
testing
testingtesting
testing
Rashmi Deoli
 
Testing Metrics and why Managers like them
Testing Metrics and why Managers like themTesting Metrics and why Managers like them
Testing Metrics and why Managers like them
PractiTest
 
Practical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems AnalysisPractical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems Analysis
Gabor Szabo, CQE
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
Perfecto by Perforce
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
Kedar Kumar
 
Soft And Handling
Soft And HandlingSoft And Handling
Soft And Handlinghiratufail
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testingPhilip Johnson
 
Metrics That Matter
Metrics That MatterMetrics That Matter
Metrics That Matter
TechWell
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersGopi Raghavendra
 
Orthogonal array approach a case study
Orthogonal array approach   a case studyOrthogonal array approach   a case study
Orthogonal array approach a case study
Karthikeyan Rajendran
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
jeyasrig
 
VIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development TeamsVIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development Teams
Paul Schreiber
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
keturahhazelhurst
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
QA or the Highway
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
QA or the Highway
 
Anton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQBAnton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQB
Ievgenii Katsan
 

Similar to Evaluating the Usefulness of IR-Based Fault LocalizationTechniques (20)

Practitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault LocalizationPractitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault Localization
 
Patterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug ReportsPatterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug Reports
 
Software testing foundation
Software testing foundationSoftware testing foundation
Software testing foundation
 
testing
testingtesting
testing
 
Testing Metrics and why Managers like them
Testing Metrics and why Managers like themTesting Metrics and why Managers like them
Testing Metrics and why Managers like them
 
Practical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems AnalysisPractical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems Analysis
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
 
Soft And Handling
Soft And HandlingSoft And Handling
Soft And Handling
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testing
 
Metrics That Matter
Metrics That MatterMetrics That Matter
Metrics That Matter
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Orthogonal array approach a case study
Orthogonal array approach   a case studyOrthogonal array approach   a case study
Orthogonal array approach a case study
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
VIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development TeamsVIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development Teams
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
 
Anton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQBAnton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQB
 

Recently uploaded

Structures and textures of metamorphic rocks
Structures and textures of metamorphic rocksStructures and textures of metamorphic rocks
Structures and textures of metamorphic rocks
kumarmathi863
 
Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...
Sérgio Sacani
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
Lokesh Patil
 
Cancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate PathwayCancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate Pathway
AADYARAJPANDEY1
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
University of Maribor
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
pablovgd
 
Hemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptxHemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptx
muralinath2
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
IqrimaNabilatulhusni
 
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdfSCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SELF-EXPLANATORY
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
AlaminAfendy1
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
AlguinaldoKong
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
muralinath2
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
anitaento25
 
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATIONPRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
ChetanK57
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
silvermistyshot
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Erdal Coalmaker
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
sachin783648
 
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
Health Advances
 

Recently uploaded (20)

Structures and textures of metamorphic rocks
Structures and textures of metamorphic rocksStructures and textures of metamorphic rocks
Structures and textures of metamorphic rocks
 
Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
 
Cancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate PathwayCancer cell metabolism: special Reference to Lactate Pathway
Cancer cell metabolism: special Reference to Lactate Pathway
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
 
Hemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptxHemoglobin metabolism_pathophysiology.pptx
Hemoglobin metabolism_pathophysiology.pptx
 
general properties of oerganologametal.ppt
general properties of oerganologametal.pptgeneral properties of oerganologametal.ppt
general properties of oerganologametal.ppt
 
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdfSCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
 
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATIONPRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
 
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...The ASGCT Annual Meeting was packed with exciting progress in the field advan...
The ASGCT Annual Meeting was packed with exciting progress in the field advan...
 

Evaluating the Usefulness of IR-Based Fault LocalizationTechniques

  • 1. Evaluating the Usefulness of IR-Based Fault Localization Techniques Qianqian Wang* Chris Parnin** Alessandro Orso* * Georgia Institute of Technology, USA ** North Carolina State University, USA
  • 6. IR-Based FL Techniques • How do they work? • Rank source files based on their lexical similarity to bug reports
 • How well do they work? Top 1 Top 5 Top 10 Percentage 35% 58% 69%
  • 7. Source code file: CTabFolder.java public class CTabFolder extends Composite { // tooltip int [] toolTipEvents = new int[] {SWT.MouseExit, SWT.MouseHover, SWT.MouseMove, SWT.MouseDown, SWT.DragDetect}; Listener toolTipListener; … / * Returns <code>true</code> if the CTabFolder only displys the selected tab * and <code>false</code> if the CTabFolder displays multiple tabs. */ …void onMouseHover(Event event) { showToolTip(event.x, event.y); } void onDispose() { inDispose = true; hideToolTip(); … } } Understanding IR-based FL Techniques Bug ID: 90018 Summary: Native tooltips left around on CTabFolder. Description: Hover over the PartStack CTabFolder inside eclipse until some native tooltip is displayed. For example, the maximize button. When the tooltip appears, change perspectives using the keybinding. the CTabFolder gets hidden, but its tooltip is permanently displayed and never goes away. Even if that CTabFolder is disposed (I'm assuming) when the perspective is closed. --------------------------------------------------------------------------
  • 8. Source code file: CTabFolder.java public class CTabFolder extends Composite { // tooltip int [] toolTipEvents = new int[] {SWT.MouseExit, SWT.MouseHover, SWT.MouseMove, SWT.MouseDown, SWT.DragDetect}; Listener toolTipListener; … / * Returns <code>true</code> if the CTabFolder only displys the selected tab * and <code>false</code> if the CTabFolder displays multiple tabs. */ …void onMouseHover(Event event) { showToolTip(event.x, event.y); } void onDispose() { inDispose = true; hideToolTip(); … } } Understanding IR-based FL Techniques Bug ID: 90018 Summary: Native tooltips left around on CTabFolder. Description: Hover over the PartStack CTabFolder inside eclipse until some native tooltip is displayed. For example, the maximize button. When the tooltip appears, change perspectives using the keybinding. the CTabFolder gets hidden, but its tooltip is permanently displayed and never goes away. Even if that CTabFolder is disposed (I'm assuming) when the perspective is closed. --------------------------------------------------------------------------
  • 9. • Does the presence of technical information affect the fault localization results? • How often do bug reports contain such information? • Is such information enough for developers to find the faulty files easily? Assessing IR-based FL Techniques
  • 11. • Q1: Does technical information affect fault localization results? • Q2: How often do bug reports contain technical information? Analytical Study
  • 12. Subjects Project # Bugs #Source file AspectJ 286 6k SWT 98 0.5k ZXing 20 0.4k Jodatime 9 0.2k
  • 13. • Categorize bug reports • Stack traces/test cases/program entity names/natural language descriptions • Generate ranked lists • BugLocator - IR-based fault localization tool • Perform statistical analysis Q1: Method
  • 14. Q1: Results Program entity Stack trace Test case Results √ X X • Does bug report information affect fault localization results? √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05
  • 15. Q1: Results Program entity Stack trace Test case Results √ X X • Does bug report information affect fault localization results? √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05
  • 16. Q1: Results Program entity Stack trace Test case Results √ X X • Does bug report information affect fault localization results? √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05 Bug report characteristics affect IR-based fault localization results
  • 17. • How often bug reports contain technical information? • Select 10,000 bug reports from SWT Bugzilla • Check presence of technical information: • Stack traces • Test cases • Program entity names Q2: Method
  • 18. • How often bug reports contain technical information? Q2: Results Stack traces Test cases Program entity Percentage 10% 3% 32%
  • 19. • How often bug reports contain technical information? Q2: Results Stack traces Test cases Program entity Percentage 10% 3% 32%
  • 20. • How often bug reports contain technical information? Q2: Results Stack traces Test cases Program entity Percentage 10% 3% 32% The majority bug reports do not contain enough information
  • 21. Additional finding “Optimistic” Evaluation Approach • Assumption: Changed files = faulty files • Reality: • 40% bugs contain multiple changed files • Not all changed files contain bugs • Best-ranked files may not be faulty
  • 22. Additional finding “Optimistic” Evaluation Approach • Assumption: Changed files = faulty files • Reality: • 40% bugs contain multiple changed files • Not all changed files contain bugs • Best-ranked files may not be faulty Results of existing studies might be worse than what reported
  • 23. • Q3: Does bug report information affect developers’ performance? • Q4: Do IR-based techniques help developers’ performance? User Study
  • 24. Experiment Protocol: Setup Participants: 70 developers Graduate Students Software subject: • Eclipse SWT • 2 bugs for each developer Task: find and fix the bug Tools: • Eclipse plug-in • Integrating ranked lists • Logging …" 1)" 2)" 3)" 4)" ✔ ✔ ✔
  • 25. Experimental Protocol: Variables Bug related Tool related
  • 26. Experimental Protocol: Variables 1) ——— 2) ——— 3) ——— 4) ——— … 1) ——— 2) ——— 3) ——— 4) ——— … Good/bad ranked list Good/bad bug report With/without a ranked list Bug related Tool related (i.e., with/without the tool)
  • 27. Experimental Protocol: Evaluation Metrics Time • To find the faulty file • To locate the bug Debugging score
  • 28. Q3: Results Time used to find the faulty file Time used to locate the bug Debugging score √ X √ Compared the performance of 2 groups:
 1. without tool, good bug reports
 2. without tool, bad bug reports √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05
  • 29. Q3: Results Time used to find the faulty file Time used to locate the bug Debugging score √ X √ Compared the performance of 2 groups:
 1. without tool, good bug reports
 2. without tool, bad bug reports √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05
  • 30. Q3: Results Time used to find the faulty file Time used to locate the bug Debugging score √ X √ Compared the performance of 2 groups:
 1. without tool, good bug reports
 2. without tool, bad bug reports Good bug reports (i.e., with entity names) allow developers to shorten the time to find the faulty file and help them find better fixes √ Statistically significant difference: p < 0.05 X No statistically significant difference: p >= 0.05
  • 31. Q4: Results Condition Debugging score Time to find the file Time to locate the bug X X X X √ X X X X X X X Compared the performance of 2 groups under 4 conditions:
 1. without tool, {good|bad} bug reports, {good|bad} ranked list
 2. with tool, {good|bad} bug reports, {good|bad} ranked list
  • 32. Q4: Results Condition Debugging score Time to find the file Time to locate the bug X X X X √ X X X X X X X Compared the performance of 2 groups under 4 conditions:
 1. without tool, {good|bad} bug reports, {good|bad} ranked list
 2. with tool, {good|bad} bug reports, {good|bad} ranked list Good ranked
 list Bad ranked
 list Good bug
 report Bad bug
 report X Not statist, sign. √ Statist. significant
  • 33. Q4: Results Condition Debugging score Time to find the file Time to locate the bug X X X X √ X X X X X X X Compared the performance of 2 groups under 4 conditions:
 1. without tool, {good|bad} bug reports, {good|bad} ranked list
 2. with tool, {good|bad} bug reports, {good|bad} ranked list Good ranked
 list Bad ranked
 list Good bug
 report Bad bug
 report X Not statist, sign. √ Statist. significant
  • 34. Q4: Results Condition Debugging score Time to find the file Time to locate the bug X X X X √ X X X X X X X Compared the performance of 2 groups under 4 conditions:
 1. without tool, {good|bad} bug reports, {good|bad} ranked list
 2. with tool, {good|bad} bug reports, {good|bad} ranked list Good ranked
 list Bad ranked
 list Good bug
 report Bad bug
 report X Not statist, sign. √ Statist. significant Only perfect ranked lists help when users can not get enough hints from bug reports
  • 35. Q4: Results Condition Debugging score Time to find the file Time to locate the bug X X X X √ X X X X X X X Compared the performance of 2 groups under 4 conditions:
 1. without tool, {good|bad} bug reports, {good|bad} ranked list
 2. with tool, {good|bad} bug reports, {good|bad} ranked list Good ranked
 list Bad ranked
 list Good bug
 report Bad bug
 report X Not statist, sign. √ Statist. significant Only perfect ranked lists help when users can not get enough hints from bug reports The tool only helps find the faulty file, but developers spend much more time locating the bug in the faulty file than finding such file
  • 36. Additional Observations • Developers used program entity names in the bug report as search keywords. • Ranked lists generated by IR-based techniques affected users’ debugging behavior • Gave a starting point • Gave them confidence
  • 37. Summary • Studied the practical usefulness of IR-based FL techniques • Performed both an analytical study and a user study • Main findings • Bug report characteristics affect IR-based fault localization results • Results of existing studies might be worse than what reported • The majority of bug reports do not contain enough information • “Good” bug reports allow developers to shorten the time to find the faulty file and help them find better fixes • Only perfect ranked lists help when users can not get enough hints from bug reports • The tool only helps find the faulty file, but developers spend much more time locating the bug in the faulty file than finding such file
  • 38. Implications • Better bug reports are needed • Automated debugging techniques should focus on improving results for bug reports with little information • Automated debugging techniques should provide finer-grained information and context • More user studies and realistic evaluations are needed