SlideShare a Scribd company logo
1 of 84
Download to read offline
Automated Debugging:
Are We There Yet?
Alessandro (Alex) Orso

School of Computer Science – College of Computing
Georgia Institute of Technology
http://www.cc.gatech.edu/~orso/

Partially supported by: NSF, IBM, and MSR
Automated Debugging:
Are We There Yet?
Alessandro (Alex) Orso

School of Computer Science – College of Computing
Georgia Institute of Technology
http://www.cc.gatech.edu/~orso/

Partially supported by: NSF, IBM, and MSR
How are we doing?

Are we there yet?
Where shall we go
next?
How Are We Doing?
A Short History of Debugging
???

The Birth of
Debugging
First reference to software errors
Your guess?

2013
The Birth of Debugging
1840
1843

• Software errors mentioned in Ada Byron's

notes on Charles Babbage's analytical engine

• Several uses of the term bug to indicate
defects in computers and software

• First actual bug and actual debugging

(Admiral Grace Hopper’s associates working
on Mark II Computer at Harvard University)

2013
The Birth of Debugging
1840
...

• Software errors mentioned in Ada Byron's

notes on Charles Babbage's analytical engine

1940

• Several uses of the term bug to indicate
defects in computers and software

• First actual bug and actual debugging

(Admiral Grace Hopper’s associates working
on Mark II Computer at Harvard University)

2013
The Birth of Debugging
1840

• Software errors mentioned in Ada Byron's

notes on Charles Babbage's analytical engine

• Several uses of the term bug to indicate
defects in computers and software

1947

2013

• First actual bug and actual debugging

(Admiral Grace Hopper’s associates working
on Mark II Computer at Harvard University)
Symbolic Debugging
1840

• UNIVAC 1100’s FLIT

(Fault Location by Interpretive Testing)

1962

2013

• Richard Stallman’s GDB
• DDD
• ...
Symbolic Debugging
1840

• UNIVAC 1100’s FLIT

(Fault Location by Interpretive Testing)

1986

2013

• GDB
• DDD
• ...
Symbolic Debugging
1840

• UNIVAC 1100’s FLIT

(Fault Location by Interpretive Testing)

1996

2013

• GDB
• DDD
• ...
Symbolic Debugging
1840

• UNIVAC 1100’s FLIT

(Fault Location by Interpretive Testing)

1996

2013

• GDB
• DDD
• ...
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

1981

2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

1981

2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Static Slicing Example
mid() {
int x,y,z,m;
1: read(“Enter 3 numbers:”,x,y,z);
2: m = z;
3: if (y<z)
4:	
if (x<y)
5:	
	
m = y;
6:	
else if (x<z)
7:	
	
m = y; // bug
8: else
9:	
if (x>y)
10:	
	
m = y;
11:	
 else if (x>z)
12:	
	
m = x;
13: print(“Middle number is:”, m);
}
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

1981

2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

1988
1993

2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Dynamic Slicing Example
mid() {
int x,y,z,m;
1: read(“Enter 3 numbers:”,x,y,z);
2: m = z;
3: if (y<z)
4:	
if (x<y)
5:	
	
m = y;
6:	
else if (x<z)
7:	
	
m = y; // bug
8: else
9:	
if (x>y)
10:	
	
m = y;
11:	
 else if (x>z)
12:	
	
m = x;
13: print(“Middle number is:”, m);
}
Dynamic Slicing Example
1,2,3

3,2,1

5,5,5

5,3,4

2,1,3

mid() {
int x,y,z,m;
1: read(“Enter 3 numbers:”,x,y,z);
2: m = z;
3: if (y<z)
4:	
if (x<y)
5:	
	
m = y;
6:	
else if (x<z)
7:	
	
m = y; // bug
8: else
9:	
if (x>y)
10:	
	
m = y;
11:	
 else if (x>z)
12:	
	
m = x;
13: print(“Middle number is:”, m);
}
Pass/Fail

3,3,5

Test Cases

•
•
•
•

•
•
•
•
•

•
•
•

•
•
•

•
•
•
•

•
•
•
•

•
•

•
•
•
•

•
•

•
P

•
F

•
•
•

•
P

•
P

•
P

•
P
Dynamic Slicing Example
1,2,3

3,2,1

5,5,5

5,3,4

2,1,3

mid() {
int x,y,z,m;
1: read(“Enter 3 numbers:”,x,y,z);
2: m = z;
3: if (y<z)
4:	
if (x<y)
5:	
	
m = y;
6:	
else if (x<z)
7:	
	
m = y; // bug
8: else
9:	
if (x>y)
10:	
	
m = y;
11:	
 else if (x>z)
12:	
	
m = x;
13: print(“Middle number is:”, m);
}
Pass/Fail

3,3,5

Test Cases

•
•
•
•

•
•
•
•
•

•
•
•

•
•
•

•
•
•
•

•
•
•
•

•
•

•
•
•
•

•
•

•
P

•
F

•
•
•

•
P

•
P

•
P

•
P
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

1988
1993

2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Program Slicing
1960

• Intuition: developers “slice” backwards
when debugging

2008
2013

• Weiser’s breakthrough paper
• Korel and Laski’s dynamic slicing
• Agrawal
• Ko’s Whyline
Delta Debugging
1960

• Intuition: it’s all about differences!
• Isolates failure causes automatically
• Zeller’s “Yesterday, My Program Worked.
Today, It Does Not. Why?”

1999

2013

•
Delta Debugging
1960

• Intuition: it’s all about differences!
• Isolates failure causes automatically
• Zeller’s “Yesterday, My Program Worked.
Today, It Does Not. Why?”

1999

2013

• Applied in several contexts
•
Today

✘

✔

✔
Yesterday
Today

✘

✘
✔
✔
Yesterday
Today

✘
✘
✘
✔
✔
Yesterday
Today

✘
✘
✘

✔
✔
Yesterday
Today

✘
✘
✘
…

✘
✔

…

Yesterday

Failure cause

✔
✔
,
ts
✘u
p
in ✘

Today

…

s,
m
✘
a
r .
g ..
ro ,
✘
p es
to tat
✔
d s
Failure cause
e
li

Yesterday

…

p
p
A

✔
✔
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

• Tarantula
• Liblit’s CBI
2001

2013

• Many others!
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

• Tarantula
• Liblit’s CBI
2001

2013

• Many others!
1,2,3

3,2,1

5,5,5

5,3,4

2,1,3

sus

mid() {
int x,y,z,m;
1: read(“Enter 3 numbers:”,x,y,z);
2: m = z;
3: if (y<z)
4:	
if (x<y)
5:	
	
m = y;
6:	
else if (x<z)
7:	
	
m = y; // bug
8: else
9:	
if (x>y)
10:	
	
m = y;
11:	
 else if (x>z)
12:	
	
m = x;
13: print(“Middle number is:”, m);
}
Pass/Fail

3,3,5

Test Cases

pic
iou

sne
ss

Tarantula
•
•
•
•

•
•
•
•
•

•
•
•

•
•
•

•
•
•
•

•
•
•
•

0.5
0.5
0.5
0.6
0.0
0.7
0.8
0.0
0.0
0.0
0.0
0.0
0.5

•
•

•
•
•
•

•
•

•
P

•
F

•
•
•

•
P

•
P

•
P

•
P
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

• Tarantula
• Liblit’s CBI
2001

2013

• Many others!
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

• Tarantula
• CBI
2003

2013

• Many others!
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

• Tarantula
• CBI
• Ochiai
2006

2013

• Many others!
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

2010

2013

• Tarantula
• CBI
• Ochiai
• Causal inference based
• Many others!
Statistical Debugging
1960

• Intuition: debugging techniques can
leverage multiple executions

...

2013

• Tarantula
ion:
rat ,
teg ltar
• CBI
w in GZo
o
rkfl tula,
• OchiaiWo aran nit, ...
T
E based
Causal inferencezU
•
• Many others!
Formula-based Debugging
(AKA Failure Explanation)
1960

• Intuition: executions can be expressed as
formulas that we can reason about

2009

2013

• Darwin
• Cause Clue Clauses
• Error invariants
•
Input I

Formula

a b le
atisfi
uns

1 Input = I ∧
2

c1 ∧ c2 ∧ c3 ∧ ... ∧
... ∧ cn-2∧cn-1∧ cn ∧

3

A
MAX-SAT
Complement

Assertion A

{ ci }
Formula-based Debugging
(AKA Failure Explanation)
1960

• Intuition: executions can be expressed as
formulas that we can reason about

2009

2013

• Darwin
• Cause Clue Clauses
• Error invariants
•
Formula-based Debugging
(AKA Failure Explanation)
1960

• Intuition: executions can be expressed as
formulas that we can reason about

• Darwin
• Bug Assist
• Error invariants
•
2011
2013
Formula-based Debugging
(AKA Failure Explanation)
1960

• Intuition: executions can be expressed as
formulas that we can reason about

• Darwin
• Bug Assist
• Error invariants
•
2011
2013
Formula-based Debugging
(AKA Failure Explanation)
1960

• Intuition: executions can be expressed as
formulas that we can reason about

• Darwin
• Bug Assist
• Error invariants
• Angelic debugging
2011
2013
Additional Techniques
1960

2013

• Contracts (e.g., Meyer et al.)
• Counterexample-based (e.g., Groce et al., Ball et al.)
• Tainting-based (e.g., Leek et al.)
• Debugging of field failures (e.g., Jin et al.)
ive!
• Predicate switching (e.g., Zhang et al.)
eal.)s
het n
• Fault localization for multiple faults (e.g., Steimann
p re
om
c(e.g., Park et al.)
failures
• Debugging of concurrencybe
• Automated data structure repair (e.g., Rinard et al.)
t to
ean genetic programming
Finding patches with
• ot m
N
• Domain specific fixes
(tests, web pages, comments, concurrency)
•
•
•

Identifying workarounds/recovery strategies (e.g., Gorla et al.)
Formula based debugging (e.g., Jose et al., Ermis et al.)
...
Are We There Yet?
Can We Debug at the Push of a Button?
Automated Debugging
(rank based)
1)"
2)"
3)"
4)"

Here$is$a$list$of$
places$to$check$out$

…"
Ok,$I$will$check$out$
your$sugges3ons$
one$by$one.$
Automated Debugging
Conceptual Model
✔
✔
✔

1)"
2)"
3)"
4)"

…"

Found&the&bug!&
Performance of Automated
Debugging Techniques
%	
  of	
  faulty	
  versions

100

Space
Siemens

80
60
40
20
0	
  	
  	
  	
  	
  	
  	
  	
  	
  20	
  	
  	
  	
  	
  	
  	
  	
  40	
  	
  	
  	
  	
  	
  	
  	
  60	
  	
  	
  	
  	
  	
  	
  	
  80	
  	
  	
  	
  	
  	
  	
  100
%	
  of	
  program	
  to	
  be	
  examined	
  to	
  find	
  fault
Mission Accomplished?
Best result: fault in 10% of the code.
Great, but...
100 LOC ➡ 10 LOC

10,000 LOC ➡ 1,000 LOC

100,000 LOC ➡ 10,000 LOC
Mission Accomplished?
Best result: fault in 10% of the code.
Great, but...
100 LOC ➡ 10 LOC

ions
pt
sum
as
10,000 LOC ➡ 1,000 g
on LOC
str
ver,
r eo
Mo
100,000 LOC ➡ 10,000 LOC
Assumption #1: Programmers
exhibit perfect bug understanding

Do you see a bug?
Assumption #2: Programmers inspect
a list linearly and exhaustively

Good for comparison,
but is it realistic?
Assumption #2: Programmers inspect
a list linearly and exhaustively

se?
sen

ak e
el m
Good afor d
l mo comparison,
d it?
p tu
nce
uate
va
e co but lis eit lrealistic?
h
a ly
es t
Do
e re
ve w
Ha
Where Shall We Go Next?
Are We Headed in the Right Direction?

AKA: “Are Automated Debugging Techniques
Actually Helping Programmers?” ISSTA 2011
Chris Parnin and Alessandro Orso
What do we know
about automated
Studies on tools

Human studies
What do Let’s&see…&know
we
Over&50&years&of&research&
abouton&automated&debugging.&
automated
2001.%Sta)s)cal%Debugging%

Studies on tools

1999.$Delta$Debugging$

Human studies

1981.%Weiser.%Program%Slicing%

1962.&Symbolic&Debugging&(UNIVAC&FLIT)&
What do we know
about automated
man
Hu

d ies
stu

o o ls
on t
d ies
Stu
Weiser
Kusumoto
Sherwood
Ko
DeLine
Are these Techniques and Tools
Actually Helping Programmers?

• What if we gave developers a ranked list of
statements?

• How would they use it?
• Would they easily see the bug in the list?
• Would ranking make a difference?
Hypotheses
H1: Programmers who use automated debugging
tools will locate bugs faster than programmers
who do not use such tools
H2: Effectiveness of automated tools increases
with the level of difficulty of the debugging task
H3: Effectiveness of debugging with automated
tools is affected by the faulty statement’s rank
Research Questions
RQ1: How do developers navigate a list of statements
ranked by suspiciousness? In order of suspiciousness
or jumping from one statement to the other?
RQ2: Does perfect bug understanding exist? How
much effort is involved in inspecting and assessing
potentially faulty statements?
RQ3: What are the challenges involved in using
automated debugging tools effectively? Can
unexpected, emerging strategies be observed?
Experimental Protocol:
Setup
Participants:
34 developers
MS’s Students
Different levels of expertise
(low, medium, high)

✔
✔
✔

1)"
2)"
3)"
4)"

…"
Experimental Protocol:
Setup

✔
✔
✔

1)"
2)"
3)"
4)"

…"

Tools
• Rank-based tool
(Eclipse plug-in, logging)
• Eclipse debugger
Experimental Protocol:
Setup
Software subjects:
• Tetris (~2.5KLOC)
• NanoXML (~4.5KLOC)
✔
✔
✔

1)"
2)"
3)"
4)"

…"
Tetris Bug

(Easier)
NanoXML Bug

(Harder)
Experimental Protocol:
Setup
Software subjects:
• Tetris (~2.5KLOC)
• NanoXML (~4.5KLOC)
✔
✔
✔

1)"
2)"
3)"
4)"

…"
Experimental Protocol:
Setup
Tasks:
• Fault in Tetris
• Fault in NanoXML
• 30 minutes per task
• Questionnaire at the end
✔
✔
✔

1)"
2)"
3)"
4)"

…"
Experimental Protocol:
Studies and Groups
Experimental Protocol:
Studies and Groups
A!

Study 1

B!
Experimental Protocol:
Studies and Groups
C!

D!
Rank!

7➡35

Rank!

83➡16

Study 2
Study Results
A!

B!

C!

D!

Rank!

Rank!

Tetris
A
B
C
D

NanoXML
Study Results
A!

B!

C!

D!

Rank!

Rank!

Tetris
A
B
C
D

Not
significantly
different

NanoXML
Study Results
A!

B!

C!

D!

Rank!

Rank!

Tetris
A
B
C
D

NanoXML

Not
significantly
different
Not
significantly
different

Not
significantly
different
Not
significantly
different
Study Results
A!

B!

C!

D!

Rank!

Rank!

Tetris
Stratifying
participants

A
B
C
D

NanoXML

Significantly
different for
high performers

Not
significantly
different
Not
significantly
different

Not
significantly
different
Study Results
A!

B!

C!

D!

Rank!

Rank!

Stratifyin
g

and
ults
Tetris res NanoXML
of
s...
SignificantlynaireNot
ysis n
A al
An differento significantly
esti for different
B qu high
C
D

performers
Not
significantly
different

Not
significantly
different
Findings: Hypotheses
H1: Programmers who use automated debugging tools will locate
bugs faster than programmers who do not use such tools
Experts are faster when using the tool ➡ Support for H1 (with caveats)

H2: Effectiveness of automated tools increases with the level of
difficulty of the debugging task
The tool did not help harder tasks ➡ No support for H2

H3: Effectiveness of debugging with automated tools is affected by
the faulty statement’s rank
Changes in rank have no significant effects ➡ No support for H3
Findings: RQs
RQ1: How do developers navigate a list of statements ranked by
suspiciousness? In order of suspiciousness or jumping b/w stmts?
Programmers do not visit each statement in the list, they search
RQ2: Does perfect bug understanding exist? How much effort is
involved in inspecting and assessing potentially faulty statements?
Perfect bug understanding is generally not a realistic assumption
RQ3: What are the challenges involved in using automated debugging
tools effectively? Can unexpected, emerging strategies be observed?
1) The statements in the list were sometimes useful as starting points
2) (Tetris) Several participants preferred to search based on intuition
3) (NanoXML) Several participants gave up on the tool after
investigating too many false positives
Research Implications
•

Percentages will not cut it (e.g., 1.8% == 83rd position)
➡ Implication 1: Techniques should focus on improving
absolute rank rather than percentage rank

•

Ranking can be successfully combined with search
➡ Implication 2: Future tools may focus on searching through
(or automatically highlighting) certain suspicious statements

•

Developers want explanations, not recommendations
➡ Implication 3: We should move away from pure ranking and
define techniques that provide context and ability to explore

•

We must grow the ecosystem
➡ Implication 4: We should aim to create an ecosystem that
provides the entire tool chain for fault localization, including
managing and orchestrating test cases
In Summary
•

We came a long way since the early days of debugging

...
•

There is still a long way to go...
Where Shall We Go Next
• Hybrid, semi-automated fault localization techniques
• Debugging of field failures (with limited information)
• Failure understanding and explanation
• (Semi-)automated repair and workarounds
• User studies, user studies, user studies!
(true also for other areas)
With much appreciated
input/contributions from
• Andy Ko
• Wei Jin
• Jim Jones
• Wes Masri
• Chris Parnin

• Abhik Roychoudhury
• Wes Weimer
• Tao Xie
• Andreas Zeller
• Xiangyu Zhang

More Related Content

Similar to Automated Debugging: Are We There Yet?

Bypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault InjectionBypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault InjectionRiscure
 
are algorithms really a black box
are algorithms really a black boxare algorithms really a black box
are algorithms really a black boxAnsgar Koene
 
Programming for Problem Solving Unit 1
Programming for Problem Solving Unit 1Programming for Problem Solving Unit 1
Programming for Problem Solving Unit 1Dhiviya Rose
 
New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0Dinis Cruz
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairClaire Le Goues
 
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)Better Machine Learning with Less Data - Slater Victoroff (Indico Data)
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)Shift Conference
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Alex Pinto
 
Pontificating quantification
Pontificating quantificationPontificating quantification
Pontificating quantificationAaron Bedra
 
Applying data visualisation to the analytics process
Applying data visualisation to the analytics processApplying data visualisation to the analytics process
Applying data visualisation to the analytics processCasper Blicher Olsen
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Fwdays
 
Testing Zen
Testing ZenTesting Zen
Testing Zenday
 
CM NCCU Class2
CM NCCU Class2CM NCCU Class2
CM NCCU Class2志明 陳
 
Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research Bang Xiang Yong
 
Static-Analysis-in-Industry.pptx
Static-Analysis-in-Industry.pptxStatic-Analysis-in-Industry.pptx
Static-Analysis-in-Industry.pptxShivashankarHR1
 
VSSML16 L5. Basic Data Transformations
VSSML16 L5. Basic Data TransformationsVSSML16 L5. Basic Data Transformations
VSSML16 L5. Basic Data TransformationsBigML, Inc
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Sebastian Schürmann
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringDiUS
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUCS, NcState
 

Similar to Automated Debugging: Are We There Yet? (20)

Bypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault InjectionBypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault Injection
 
are algorithms really a black box
are algorithms really a black boxare algorithms really a black box
are algorithms really a black box
 
Programming for Problem Solving Unit 1
Programming for Problem Solving Unit 1Programming for Problem Solving Unit 1
Programming for Problem Solving Unit 1
 
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
 
New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
 
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)Better Machine Learning with Less Data - Slater Victoroff (Indico Data)
Better Machine Learning with Less Data - Slater Victoroff (Indico Data)
 
On Impact in Software Engineering Research
On Impact in Software Engineering ResearchOn Impact in Software Engineering Research
On Impact in Software Engineering Research
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
 
Pontificating quantification
Pontificating quantificationPontificating quantification
Pontificating quantification
 
Applying data visualisation to the analytics process
Applying data visualisation to the analytics processApplying data visualisation to the analytics process
Applying data visualisation to the analytics process
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
 
Testing Zen
Testing ZenTesting Zen
Testing Zen
 
CM NCCU Class2
CM NCCU Class2CM NCCU Class2
CM NCCU Class2
 
Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research Bayesian Autoencoders (BAE) & Honest Thoughts on research
Bayesian Autoencoders (BAE) & Honest Thoughts on research
 
Static-Analysis-in-Industry.pptx
Static-Analysis-in-Industry.pptxStatic-Analysis-in-Industry.pptx
Static-Analysis-in-Industry.pptx
 
VSSML16 L5. Basic Data Transformations
VSSML16 L5. Basic Data TransformationsVSSML16 L5. Basic Data Transformations
VSSML16 L5. Basic Data Transformations
 
Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)Surviving your frontend (WIP - Sneak Peak)
Surviving your frontend (WIP - Sneak Peak)
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos Engineering
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
 

More from Alex Orso

ISSTA 2017 Impact Paper Award Presentation
ISSTA 2017 Impact Paper Award PresentationISSTA 2017 Impact Paper Award Presentation
ISSTA 2017 Impact Paper Award PresentationAlex Orso
 
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 LocalizationTechniquesAlex Orso
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Alex Orso
 
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
 
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
 
X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications
X-­PERT: Accurate Identification of Cross-Browser Issues in Web ApplicationsX-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications
X-­PERT: Accurate Identification of Cross-Browser Issues in Web ApplicationsAlex Orso
 

More from Alex Orso (6)

ISSTA 2017 Impact Paper Award Presentation
ISSTA 2017 Impact Paper Award PresentationISSTA 2017 Impact Paper Award Presentation
ISSTA 2017 Impact Paper Award Presentation
 
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
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)
 
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
 
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
 
X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications
X-­PERT: Accurate Identification of Cross-Browser Issues in Web ApplicationsX-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications
X-­PERT: Accurate Identification of Cross-Browser Issues in Web Applications
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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 WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Automated Debugging: Are We There Yet?