SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Interactive Fault Localization
Leveraging Simple User Feedback
Liang Gong1, David Lo2, Lingxiao Jiang2, and Hongyu Zhang1
Funded by
1

Tsinghua University

2

Singapore Management University
Interactive Fault Localization
Leveraging Simple User Feedback

• Motivation
•

Outline
Introduction &
Framework

Fault Localization

• Interactive Fault Localization
•
•

Technical Motivation
Detailed Approach

• Experiments
•

Settings & Results

• Conclusion & Future work
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Debugging

Software errors cost the US economy
59.5 billion dollars (0.6% of 2002's GDP) [1]
Testing and debugging activities are
labor-intensive (30% to 90% of a Project) [2]

Problem

Presented by
Liang Gong

School of Software
Tsinghua University

[1] National Institute of Standards and Technology (NIST). Software Errors Cost
U.S. Economy $59.5 Billion Annually, June 28, 2002.
[2] B. Beizer. Software Testing Techniques. International Thomson Computer
Press, Boston, 2nd edition, 1990.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Spectrum-based Fault Localization(abbr. SBFL)
• Automatically recommend a list of suspicious
program elements for inspection.

SBFL

Introduction

• Program Spectra consists of coverage information
and execution labels.

Program Spectra

Coverage information of one
element (si) in all executions

Profile of an execution trace

Correct or incorrect?
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

For a given statement S
The formula
Tarantula calculates the suspiciousness of S.
No. of failed traces covering S

Approaches

Fault Localization

Ochiai
No. of failed traces

Jaccard

Presented by
Liang Gong

School of Software
Tsinghua University

No. of traces covering S

Intuition: If S is covered more in failed traces
and less in passed traces, it is more likely to
contain faults.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Program Goal:
Research Spectra

Process

Motivation

Fault Localization
Techniques

• An interactive fault localization
method leveraging user feedback
• Requires trivial or no additional effort
Developer
Static List of
Suspicious Elements

Batch Mode Fault Localization
No feedback from human is utilized.
Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

FaulT LocAlization Leveraging
User FeedbacK (TALK)

Our Method
Introduction

• Interactively and iteratively updates
model according to feedback
• Leveraging only simple feedback

• one-size-fits-all approach

Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Process

Program Spectra

Feedback

Motivation

Fault Localization
Techniques
Developer

Interactive List of
Suspicious Elements

Interactive Fault Localization
Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

How to provide feedback which
requires trivial additional effort?

No.

Feedback

Opportunities

Susp.

S12
S11
S8
S9
S5

0.756
0.707
0.671
0.667
0.603

Program Element
other += 1;}
else if(isprint(c))
let += 1;
else if('0'<=c && '9'>c)
if('A'<=c && 'Z'>=c)

Proposed Inspection List (interactive)
Conventional Inspection List (static)

Presented by
Liang Gong

School of Software
Tsinghua University

Buggy?

Commit

When developer examine the inspection list, they
must judge if those statements are clean or faulty.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

With provided feedback, how to improve
fault localization accuracy?
Once a false positive(symptom) has been found
Find the likely root cause for that symptom

Feedback

How to utilize ?

Adjust the suspiciousness of root cause and re-rank
No.

Susp.

S12
S11
S8
S9
S5

0.756
0.707
0.671
0.667
0.603

Program Element

Buggy?

other += 1;}
else if(isprint(c))
let += 1;
else if('0'<=c && '9'>c)
if('A'<=c && 'Z'>=c)

likely root cause
Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

How to find the likely root cause of a symptom?
Investigating co-occurrences of program elements in
failed executions to identify root cause candidate

Root Cause
How to find ?

t1
t2
t3

…
…
…
…

s1

s2

s3

s4

s5

s6





































…
…
…
…

p/f
fail
fail
pass

False positive (Symptom)

Intuition: If s3 has been identified as false positive,
Presented by
Liang Gong

School of Software
Tsinghua University

then s2 is more likely to be the root cause than s1.
As s2 co-appears more with s3 in failed traces.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Identifying a Root Cause from Its Symptom.
• Evaluate the co-appearance score of
statements (root cause candidate)

Rule: R1
Detailed Approach

Co-appearance from traces covering
less statements weights higher

• Select candidate with most co-appearance score
as the root cause

Presented by
Liang Gong

School of Software
Tsinghua University

Intuition: Statements co-appeared more with
symptom in failed traces covering less statements
are more likely to be chosen as the root cause.
With the spectra T and symptom S, and how to
Diversity Maximization Speedup
for Fault Localization
the suspiciousness score of the root cause Sr ?
Consists of all traces covering root cause Sr

adjust

If Sr is the real root cause,
then fT(Sr)(s) be very HIGH.

split

Test Case
Prioritization

introduction

Spectra T(Sr)

Suspiciousness
of Symptom: fT(Sr)(s)
fT(Sr)(s) - fT(Sr)(s)

Spectra T
Spectra T(Sr)

Presented by
Liang Gong

Consists of all traces
not covering root cause Sr

School of Software
Tsinghua University

The larger this metric is,
the more suspiciousness
Suspiciousness
score Sr will get.
of Symptom: fT(Sr)(s)

If Sr is the real root cause,
then fT(Sr)(s) be very LOW
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Rule: R1
Detailed Approach

Presented by
Liang Gong

School of Software
Tsinghua University

With the symptom, how to adjust the
suspiciousness score of the root cause?

• Calculate the suspiciousness difference of symptom
in spectra covering and not covering root cause.
• Contribute the suspiciousness difference of symptom
to the suspiciousness of its root cause
Intuition: If the suspiciousness of symptom becomes
larger when root cause is covered, the root cause is
more suspicious.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Rule 2

Focusing on a Single Failed Execution Profile
t1
t2
t3

…
…
…
…

s1

s2

s3

s4

s5

s6





































…
…
…
…

p/f
fail
fail
pass

In this case, focusing on statements covered by
t1 will quickly identify at least one bug. As only
two statements have to be examined.

Introduction
•

Find out the failed profile tmin covering
the least number of unexamined elements.

•

For each program element si that is covered in tmin

Presented by
Liang Gong

School of Software
Tsinghua University

A constant making sure that statements
covered by tmin are examined first.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Initial Process: Conventional
Fault Localization

Processing
Overall
False Positive
with Rule
Algorithm1

Introduction

If a bug has been confirmed,
record it for Rule 2
Apply Rule 2
Presented by
Liang Gong

School of Software
Tsinghua University

Processing
Feedback
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Benchmarks for Fault Localization

1

Experiment
Dataset &
Evaluation Metric

2

1 Siemens Suite

2 UNIX Programs

Evaluation Metric for Fault Localization:
Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Research Questions Investigated:

Experiment
Research Questions

Presented by
Liang Gong

School of Software
Tsinghua University

Is user feedback helpful for improving
fault localization accuracy?
What is the relative effectiveness
of the two rules to improve fault
localization?
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Conventional Fault Localization Technique

f

Interactive Fault Localization Technique f+

f+ vs f

f+ requires 40% less debugging cost
than f on faulty version 4

Comparison

Introduction

Presented by
Liang Gong

School of Software
Tsinghua University

f+ requires 30% more debugging cost
than f on faulty version 2
Diversity Maximization Speedup
for Fault Localization

Improvement of TALK on Existing Methods

Test Case
Prioritization
introduction

Ochiai+ vs Ochiai

Presented by
Liang Gong

School of Software
Tsinghua University

Jaccard+ vs Jaccard

Tarantula+ vs Tarantula

Pair-wised T-test shows the improvements are
statistically significant at 95% interval.
Diversity Maximization Speedup
Interactive Fault Localization
Leveraging Simple User Feedback
for Fault Localization

Research Questions Investigated:

Experiment
Research Questions

Presented by
Liang Gong

School of Software
Tsinghua University

Is user feedback helpful for improving
fault localization accuracy?
What is the relative effectiveness
of the two rules to improve fault
localization?
Contributions of R1 and R2

Diversity Maximization Speedup
for Fault Localization

on Improving Fault Localization Effectiveness

Test Case
Prioritization
introduction

Improvement from R1
Presented by
Liang Gong

School of Software
Tsinghua University

Improvement from R2
Improvement from R1 + R2
Diversity Maximization Speedup
Interactive Fault Localization
for Fault Localization
Leveraging Simple User Feedback

Fault Localization (state-of-the-arts)





Related Works
Introduction

WHITHER[Renieris and Reiss]
Liblit05[Liblit]
Delta Debugging[Zeller]
Tarantula[Harrold], Ochiai etc.

Interactive Fault Localization
Hao et al. propose an technique [JCST]
 Record sequential execution trace
 Judge whether the fault is executed before or after
the checking point.

Presented by
Liang Gong

School of Software
Tsinghua University

Lucia et al. adopt user feedback for clone-based bug
detection approaches [ICSE 12]
Insa et al. propose a strategy for algorithmic
debugging which asks user questions concerning
program state. [ASE 11]
Diversity Maximization Speedup
Interactive Fault Localization
for Fault Localization
Leveraging Simple User Feedback

Threats to

Validity

Construct Validity (Evaluation Metric)
We use a cost metric that has been utilized to
evaluate past fault localization techniques. We
believe this is a fair and well-accepted metric.

External Validity (Generalizability)
All of subjects are written in C. In the future,
we plan to investigate more programs written
in various programming languages.

What if user provides a wrong feedback?
Presented by
Liang Gong

School of Software
Tsinghua University
Diversity Maximization Speedup
Interactive Fault Localization
for Fault Localization
Leveraging Simple User Feedback

What if user provides a wrong feedback?
Since we use simple feedbacks,
mistakes can only be:

Threats to

Validity

 Clean Statement labeled as Faulty
In this case, when developers try to fix the
“bug”, they will realize their mistake.

 Faulty Statement labeled as Clean
Most fault localization techniques are evaluated
by assuming a user is always correct when
ascertaining if an element is buggy or correct.
Presented by
Liang Gong

School of Software
Tsinghua University

In future: Allow users to rollback their

feedback if they made mistakes.
Diversity Maximization Speedup
Interactive Fault Localization
for Fault Localization
Leveraging Simple User Feedback

• Conclusions

A novel interactive method TALK for fault localization:
 TALK leverages user feedback while limits the
additional manual cost incurred.

Conclusion
& Future Work

 TALK is a one-size-fits-all approach that can be
applied to most existing static SBFL techniques.

Thank you!

 Empirical studies on 12 C programs shows that TALK
can help to significantly improve the fault localization
accuracy.

•• Any questions?
Future Work

...

• Evaluate on more subject programs.
• Try different strategies to further utilize user feedback
Presented by
Liang Gong

School of Software
Tsinghua University

• Enhance TALK by allowing users to rollback their
feedback if they made mistakes

Contenu connexe

Tendances

Software Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global AnalysisSoftware Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global Analysis
Editor IJMTER
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software Engineering
Per Runeson
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
Thomas Zimmermann
 
An Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security EducationAn Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security Education
Xiao Qin
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
Chakkrit (Kla) Tantithamthavorn
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
nazeer pasha
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing Scheme
Editor IJMTER
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 

Tendances (20)

Realtime, Non-Intrusive Evaluation of VoIP Using Genetic Programming
Realtime, Non-Intrusive Evaluation of VoIP Using Genetic ProgrammingRealtime, Non-Intrusive Evaluation of VoIP Using Genetic Programming
Realtime, Non-Intrusive Evaluation of VoIP Using Genetic Programming
 
Software Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global AnalysisSoftware Defect Prediction Using Local and Global Analysis
Software Defect Prediction Using Local and Global Analysis
 
[Tho Quan] Fault Localization - Where is the root cause of a bug?
[Tho Quan] Fault Localization - Where is the root cause of a bug?[Tho Quan] Fault Localization - Where is the root cause of a bug?
[Tho Quan] Fault Localization - Where is the root cause of a bug?
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software Engineering
 
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)
 
An Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security EducationAn Application-Oriented Approach for Computer Security Education
An Application-Oriented Approach for Computer Security Education
 
Software testing
Software testingSoftware testing
Software testing
 
Genetic algorithm based approach for
Genetic algorithm based approach forGenetic algorithm based approach for
Genetic algorithm based approach for
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 
Software Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing SchemeSoftware Quality Analysis Using Mutation Testing Scheme
Software Quality Analysis Using Mutation Testing Scheme
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
M018147883
M018147883M018147883
M018147883
 
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine LearningIRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
 

En vedette

Tool-Supported 2014 07 sems_limitations_evaluation_practice
Tool-Supported 2014 07 sems_limitations_evaluation_practiceTool-Supported 2014 07 sems_limitations_evaluation_practice
Tool-Supported 2014 07 sems_limitations_evaluation_practice
semsworkshop
 
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatcheseTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
Francisco Gastiazoro
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
Tao He
 
Cleansing test suites from coincidental correctness to enhance falut localiza...
Cleansing test suites from coincidental correctness to enhance falut localiza...Cleansing test suites from coincidental correctness to enhance falut localiza...
Cleansing test suites from coincidental correctness to enhance falut localiza...
Tao He
 
2014 07 sems_debugging_models
2014 07 sems_debugging_models2014 07 sems_debugging_models
2014 07 sems_debugging_models
semsworkshop
 
Testing group’s work on fault localization
Testing group’s work on fault localizationTesting group’s work on fault localization
Testing group’s work on fault localization
Tao He
 
Falcon: Fault Localization in Concurrent Programs
Falcon: Fault Localization in Concurrent ProgramsFalcon: Fault Localization in Concurrent Programs
Falcon: Fault Localization in Concurrent Programs
Sangmin Park
 
Effective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent SoftwareEffective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent Software
Sangmin Park
 
Evaluating the Usefulness of IR-Based Fault LocalizationTechniques
Evaluating the Usefulness of IR-Based Fault LocalizationTechniquesEvaluating the Usefulness of IR-Based Fault LocalizationTechniques
Evaluating the Usefulness of IR-Based Fault LocalizationTechniques
Alex Orso
 
Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?
Alex Orso
 

En vedette (20)

Practitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault LocalizationPractitioners’ Expectations on Automated Fault Localization
Practitioners’ Expectations on Automated Fault Localization
 
Locating Crashing Faults based on Crash Stack Traces
Locating Crashing Faults based on Crash Stack TracesLocating Crashing Faults based on Crash Stack Traces
Locating Crashing Faults based on Crash Stack Traces
 
Tool-Supported 2014 07 sems_limitations_evaluation_practice
Tool-Supported 2014 07 sems_limitations_evaluation_practiceTool-Supported 2014 07 sems_limitations_evaluation_practice
Tool-Supported 2014 07 sems_limitations_evaluation_practice
 
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatcheseTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
eTDR Fault Localization Accuracy - The effect of Multiple Impedance mismatches
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
 
DLint: dynamically checking bad coding practices in JavaScript (ISSTA'15 Slides)
DLint: dynamically checking bad coding practices in JavaScript (ISSTA'15 Slides)DLint: dynamically checking bad coding practices in JavaScript (ISSTA'15 Slides)
DLint: dynamically checking bad coding practices in JavaScript (ISSTA'15 Slides)
 
2011/09/20 - Software Testing
2011/09/20 - Software Testing2011/09/20 - Software Testing
2011/09/20 - Software Testing
 
Statistical debuging for programs written in dynamic programming language ruby
Statistical debuging for programs written in dynamic programming language   rubyStatistical debuging for programs written in dynamic programming language   ruby
Statistical debuging for programs written in dynamic programming language ruby
 
Cleansing test suites from coincidental correctness to enhance falut localiza...
Cleansing test suites from coincidental correctness to enhance falut localiza...Cleansing test suites from coincidental correctness to enhance falut localiza...
Cleansing test suites from coincidental correctness to enhance falut localiza...
 
2014 07 sems_debugging_models
2014 07 sems_debugging_models2014 07 sems_debugging_models
2014 07 sems_debugging_models
 
Cues for Better Scent in Debugging
Cues for Better Scent in DebuggingCues for Better Scent in Debugging
Cues for Better Scent in Debugging
 
ISSTA 2010 Presentation
ISSTA 2010 PresentationISSTA 2010 Presentation
ISSTA 2010 Presentation
 
Testing group’s work on fault localization
Testing group’s work on fault localizationTesting group’s work on fault localization
Testing group’s work on fault localization
 
Falcon: Fault Localization in Concurrent Programs
Falcon: Fault Localization in Concurrent ProgramsFalcon: Fault Localization in Concurrent Programs
Falcon: Fault Localization in Concurrent Programs
 
Effective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent SoftwareEffective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent Software
 
fault localization in computer network..
fault localization in computer network..fault localization in computer network..
fault localization in computer network..
 
Evaluating the Usefulness of IR-Based Fault LocalizationTechniques
Evaluating the Usefulness of IR-Based Fault LocalizationTechniquesEvaluating the Usefulness of IR-Based Fault LocalizationTechniques
Evaluating the Usefulness of IR-Based Fault LocalizationTechniques
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
 
Constraint-Based Fault-Localization
Constraint-Based Fault-LocalizationConstraint-Based Fault-Localization
Constraint-Based Fault-Localization
 
Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?
 

Similaire à Interactive fault localization leveraging simple user feedback - by Liang Gong

Enabling and Supporting the Debugging of Field Failures (Job Talk)
Enabling and Supporting the Debugging of Field Failures (Job Talk)Enabling and Supporting the Debugging of Field Failures (Job Talk)
Enabling and Supporting the Debugging of Field Failures (Job Talk)
James Clause
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
Kevin Moran
 

Similaire à Interactive fault localization leveraging simple user feedback - by Liang Gong (20)

Debug me
Debug meDebug me
Debug me
 
Enabling and Supporting the Debugging of Field Failures (Job Talk)
Enabling and Supporting the Debugging of Field Failures (Job Talk)Enabling and Supporting the Debugging of Field Failures (Job Talk)
Enabling and Supporting the Debugging of Field Failures (Job Talk)
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
 
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
IRJET- Windows Log Investigator System for Faster Root Cause Detection of a D...
 
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
 
Stc 2015 regional-round-ppt-exlopratory mobile testing with risk analysis
Stc 2015 regional-round-ppt-exlopratory mobile testing with risk analysisStc 2015 regional-round-ppt-exlopratory mobile testing with risk analysis
Stc 2015 regional-round-ppt-exlopratory mobile testing with risk analysis
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECAST
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
SURVEY ON LINK LAYER ATTACKS IN COGNITIVE RADIO NETWORKS
SURVEY ON LINK LAYER ATTACKS IN COGNITIVE RADIO NETWORKSSURVEY ON LINK LAYER ATTACKS IN COGNITIVE RADIO NETWORKS
SURVEY ON LINK LAYER ATTACKS IN COGNITIVE RADIO NETWORKS
 
Thinking in software testing
Thinking in software testingThinking in software testing
Thinking in software testing
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
 
A Complexity Based Regression Test Selection Strategy
A Complexity Based Regression Test Selection StrategyA Complexity Based Regression Test Selection Strategy
A Complexity Based Regression Test Selection Strategy
 
Optimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A StudyOptimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A Study
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
 
Keerthi report
Keerthi reportKeerthi report
Keerthi report
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next Level
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
 
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Interactive fault localization leveraging simple user feedback - by Liang Gong

  • 1. Interactive Fault Localization Leveraging Simple User Feedback Liang Gong1, David Lo2, Lingxiao Jiang2, and Hongyu Zhang1 Funded by 1 Tsinghua University 2 Singapore Management University
  • 2. Interactive Fault Localization Leveraging Simple User Feedback • Motivation • Outline Introduction & Framework Fault Localization • Interactive Fault Localization • • Technical Motivation Detailed Approach • Experiments • Settings & Results • Conclusion & Future work
  • 3. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Debugging Software errors cost the US economy 59.5 billion dollars (0.6% of 2002's GDP) [1] Testing and debugging activities are labor-intensive (30% to 90% of a Project) [2] Problem Presented by Liang Gong School of Software Tsinghua University [1] National Institute of Standards and Technology (NIST). Software Errors Cost U.S. Economy $59.5 Billion Annually, June 28, 2002. [2] B. Beizer. Software Testing Techniques. International Thomson Computer Press, Boston, 2nd edition, 1990.
  • 4. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Spectrum-based Fault Localization(abbr. SBFL) • Automatically recommend a list of suspicious program elements for inspection. SBFL Introduction • Program Spectra consists of coverage information and execution labels. Program Spectra Coverage information of one element (si) in all executions Profile of an execution trace Correct or incorrect?
  • 5. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization For a given statement S The formula Tarantula calculates the suspiciousness of S. No. of failed traces covering S Approaches Fault Localization Ochiai No. of failed traces Jaccard Presented by Liang Gong School of Software Tsinghua University No. of traces covering S Intuition: If S is covered more in failed traces and less in passed traces, it is more likely to contain faults.
  • 6. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Program Goal: Research Spectra Process Motivation Fault Localization Techniques • An interactive fault localization method leveraging user feedback • Requires trivial or no additional effort Developer Static List of Suspicious Elements Batch Mode Fault Localization No feedback from human is utilized. Presented by Liang Gong School of Software Tsinghua University
  • 7. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization FaulT LocAlization Leveraging User FeedbacK (TALK) Our Method Introduction • Interactively and iteratively updates model according to feedback • Leveraging only simple feedback • one-size-fits-all approach Presented by Liang Gong School of Software Tsinghua University
  • 8. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Process Program Spectra Feedback Motivation Fault Localization Techniques Developer Interactive List of Suspicious Elements Interactive Fault Localization Presented by Liang Gong School of Software Tsinghua University
  • 9. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization How to provide feedback which requires trivial additional effort? No. Feedback Opportunities Susp. S12 S11 S8 S9 S5 0.756 0.707 0.671 0.667 0.603 Program Element other += 1;} else if(isprint(c)) let += 1; else if('0'<=c && '9'>c) if('A'<=c && 'Z'>=c) Proposed Inspection List (interactive) Conventional Inspection List (static) Presented by Liang Gong School of Software Tsinghua University Buggy? Commit When developer examine the inspection list, they must judge if those statements are clean or faulty.
  • 10. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization With provided feedback, how to improve fault localization accuracy? Once a false positive(symptom) has been found Find the likely root cause for that symptom Feedback How to utilize ? Adjust the suspiciousness of root cause and re-rank No. Susp. S12 S11 S8 S9 S5 0.756 0.707 0.671 0.667 0.603 Program Element Buggy? other += 1;} else if(isprint(c)) let += 1; else if('0'<=c && '9'>c) if('A'<=c && 'Z'>=c) likely root cause Presented by Liang Gong School of Software Tsinghua University
  • 11. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization How to find the likely root cause of a symptom? Investigating co-occurrences of program elements in failed executions to identify root cause candidate Root Cause How to find ? t1 t2 t3 … … … … s1 s2 s3 s4 s5 s6                   … … … … p/f fail fail pass False positive (Symptom) Intuition: If s3 has been identified as false positive, Presented by Liang Gong School of Software Tsinghua University then s2 is more likely to be the root cause than s1. As s2 co-appears more with s3 in failed traces.
  • 12. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Identifying a Root Cause from Its Symptom. • Evaluate the co-appearance score of statements (root cause candidate) Rule: R1 Detailed Approach Co-appearance from traces covering less statements weights higher • Select candidate with most co-appearance score as the root cause Presented by Liang Gong School of Software Tsinghua University Intuition: Statements co-appeared more with symptom in failed traces covering less statements are more likely to be chosen as the root cause.
  • 13. With the spectra T and symptom S, and how to Diversity Maximization Speedup for Fault Localization the suspiciousness score of the root cause Sr ? Consists of all traces covering root cause Sr adjust If Sr is the real root cause, then fT(Sr)(s) be very HIGH. split Test Case Prioritization introduction Spectra T(Sr) Suspiciousness of Symptom: fT(Sr)(s) fT(Sr)(s) - fT(Sr)(s) Spectra T Spectra T(Sr) Presented by Liang Gong Consists of all traces not covering root cause Sr School of Software Tsinghua University The larger this metric is, the more suspiciousness Suspiciousness score Sr will get. of Symptom: fT(Sr)(s) If Sr is the real root cause, then fT(Sr)(s) be very LOW
  • 14. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Rule: R1 Detailed Approach Presented by Liang Gong School of Software Tsinghua University With the symptom, how to adjust the suspiciousness score of the root cause? • Calculate the suspiciousness difference of symptom in spectra covering and not covering root cause. • Contribute the suspiciousness difference of symptom to the suspiciousness of its root cause Intuition: If the suspiciousness of symptom becomes larger when root cause is covered, the root cause is more suspicious.
  • 15. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Rule 2 Focusing on a Single Failed Execution Profile t1 t2 t3 … … … … s1 s2 s3 s4 s5 s6                   … … … … p/f fail fail pass In this case, focusing on statements covered by t1 will quickly identify at least one bug. As only two statements have to be examined. Introduction • Find out the failed profile tmin covering the least number of unexamined elements. • For each program element si that is covered in tmin Presented by Liang Gong School of Software Tsinghua University A constant making sure that statements covered by tmin are examined first.
  • 16. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Initial Process: Conventional Fault Localization Processing Overall False Positive with Rule Algorithm1 Introduction If a bug has been confirmed, record it for Rule 2 Apply Rule 2 Presented by Liang Gong School of Software Tsinghua University Processing Feedback
  • 17. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Benchmarks for Fault Localization 1 Experiment Dataset & Evaluation Metric 2 1 Siemens Suite 2 UNIX Programs Evaluation Metric for Fault Localization: Presented by Liang Gong School of Software Tsinghua University
  • 18. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Research Questions Investigated: Experiment Research Questions Presented by Liang Gong School of Software Tsinghua University Is user feedback helpful for improving fault localization accuracy? What is the relative effectiveness of the two rules to improve fault localization?
  • 19. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Conventional Fault Localization Technique f Interactive Fault Localization Technique f+ f+ vs f f+ requires 40% less debugging cost than f on faulty version 4 Comparison Introduction Presented by Liang Gong School of Software Tsinghua University f+ requires 30% more debugging cost than f on faulty version 2
  • 20. Diversity Maximization Speedup for Fault Localization Improvement of TALK on Existing Methods Test Case Prioritization introduction Ochiai+ vs Ochiai Presented by Liang Gong School of Software Tsinghua University Jaccard+ vs Jaccard Tarantula+ vs Tarantula Pair-wised T-test shows the improvements are statistically significant at 95% interval.
  • 21. Diversity Maximization Speedup Interactive Fault Localization Leveraging Simple User Feedback for Fault Localization Research Questions Investigated: Experiment Research Questions Presented by Liang Gong School of Software Tsinghua University Is user feedback helpful for improving fault localization accuracy? What is the relative effectiveness of the two rules to improve fault localization?
  • 22. Contributions of R1 and R2 Diversity Maximization Speedup for Fault Localization on Improving Fault Localization Effectiveness Test Case Prioritization introduction Improvement from R1 Presented by Liang Gong School of Software Tsinghua University Improvement from R2 Improvement from R1 + R2
  • 23. Diversity Maximization Speedup Interactive Fault Localization for Fault Localization Leveraging Simple User Feedback Fault Localization (state-of-the-arts)     Related Works Introduction WHITHER[Renieris and Reiss] Liblit05[Liblit] Delta Debugging[Zeller] Tarantula[Harrold], Ochiai etc. Interactive Fault Localization Hao et al. propose an technique [JCST]  Record sequential execution trace  Judge whether the fault is executed before or after the checking point. Presented by Liang Gong School of Software Tsinghua University Lucia et al. adopt user feedback for clone-based bug detection approaches [ICSE 12] Insa et al. propose a strategy for algorithmic debugging which asks user questions concerning program state. [ASE 11]
  • 24. Diversity Maximization Speedup Interactive Fault Localization for Fault Localization Leveraging Simple User Feedback Threats to Validity Construct Validity (Evaluation Metric) We use a cost metric that has been utilized to evaluate past fault localization techniques. We believe this is a fair and well-accepted metric. External Validity (Generalizability) All of subjects are written in C. In the future, we plan to investigate more programs written in various programming languages. What if user provides a wrong feedback? Presented by Liang Gong School of Software Tsinghua University
  • 25. Diversity Maximization Speedup Interactive Fault Localization for Fault Localization Leveraging Simple User Feedback What if user provides a wrong feedback? Since we use simple feedbacks, mistakes can only be: Threats to Validity  Clean Statement labeled as Faulty In this case, when developers try to fix the “bug”, they will realize their mistake.  Faulty Statement labeled as Clean Most fault localization techniques are evaluated by assuming a user is always correct when ascertaining if an element is buggy or correct. Presented by Liang Gong School of Software Tsinghua University In future: Allow users to rollback their feedback if they made mistakes.
  • 26. Diversity Maximization Speedup Interactive Fault Localization for Fault Localization Leveraging Simple User Feedback • Conclusions A novel interactive method TALK for fault localization:  TALK leverages user feedback while limits the additional manual cost incurred. Conclusion & Future Work  TALK is a one-size-fits-all approach that can be applied to most existing static SBFL techniques. Thank you!  Empirical studies on 12 C programs shows that TALK can help to significantly improve the fault localization accuracy. •• Any questions? Future Work ... • Evaluate on more subject programs. • Try different strategies to further utilize user feedback Presented by Liang Gong School of Software Tsinghua University • Enhance TALK by allowing users to rollback their feedback if they made mistakes