SlideShare ist ein Scribd-Unternehmen logo
1 von 38
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

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 AnalysisTechWell
 
Barga Data Science lecture 8
Barga Data Science lecture 8Barga Data Science lecture 8
Barga Data Science lecture 8Roger Barga
 
Barga Data Science lecture 3
Barga Data Science lecture 3Barga Data Science lecture 3
Barga Data Science lecture 3Roger 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 CasesLionel 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_testday2018STAMP Project
 

Was ist angesagt? (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
 

Andere mochten auch

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 KuchaRob 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
 
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 ProgrammingAlex Orso
 
Nash Equilibrium
Nash EquilibriumNash Equilibrium
Nash Equilibriumiosrjce
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi 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, pruftechnikAkı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 ConferencesAlex Orso
 
Sinclair.macro economicforecasting
Sinclair.macro economicforecastingSinclair.macro economicforecasting
Sinclair.macro economicforecastingTara Sinclair
 

Andere mochten auch (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
 

Ähnlich wie 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 LocalizationPavneet 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 ReportsRodrigo Rocha
 
Software testing foundation
Software testing foundationSoftware testing foundation
Software testing foundationAnirudh503501
 
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 themPractiTest
 
Practical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems AnalysisPractical Tools for Measurement Systems Analysis
Practical Tools for Measurement Systems AnalysisGabor 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 TestingPerfecto 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 pptKedar 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 MatterTechWell
 
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 studyKarthikeyan Rajendran
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbjeyasrig
 
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 TeamsPaul 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.docxketurahhazelhurst
 
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 StuntzQA 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 StuntzQA 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 ISTQBIevgenii Katsan
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSSLeenakshiTyagi
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxjana861314
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PPRINCE C P
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...jana861314
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 

Kürzlich hochgeladen (20)

Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSS
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 

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