Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Debugging Field Failures by Minimizing Captured Executions (ICSE 2009: NIER example)
1. ICSE ‘09: New Ideas and Emerging Results
Debugging Field Failures by
Minimizing Captured Executions
James Clause and Alessandro Orso
Georgia Institute of Technology
1
2. ICSE ‘09: New Ideas and Emerging Results
What are field failures?
Failures that occur after
application deployment
Difficult to reproduce
in-house ➞ difficult to
debug
2
3. ICSE ‘09: New Ideas and Emerging Results
Current approaches
Collect limited
information
Ask the user
how to reproduce
3
4. ICSE ‘09: New Ideas and Emerging Results
Replay / Debug
Develop Record
✘
Captured
failure
Inthefield
InhouseOur approach
4
5. ICSE ‘09: New Ideas and Emerging Results
Our approach
Inthefield
Inhouse
Replay / Debug
Develop Record
✘
Minimize
✘
Captured
failure
✘
Minimized
failure
5
6. ICSE ‘09: New Ideas and Emerging Results
Recording
Capture high-level
events
efficient
amenable to
minimization
6
7. ICSE ‘09: New Ideas and Emerging Results
Replaying
Interfere as little as
possible
redirect high-level
events
maintain relative time
of events
7
8. ICSE ‘09: New Ideas and Emerging Results
Minimization
Focus debugging effort
Iteratively remove what
is not necessary for
reproducing the failure
✘
8
9. ICSE ‘09: New Ideas and Emerging Results
2-phase minimization
Time minimization
✂
Data minimization
9
10. ICSE ‘09: New Ideas and Emerging Results
Time minimization
Remove idle times
Reduce event latency
10
11. ICSE ‘09: New Ideas and Emerging Results
Data minimization
Remove data
hierarchically
1. complete files
2. pieces of files
3. individual characters✂
11
12. ICSE ‘09: New Ideas and Emerging Results
Prototype implementation
Record / Replay
x86/libc binaries
Minimization
customizable scripts
Limitations
non-determinism
GUI inputs
ADDAAssisting the Debugging of
Deployed Applications
12
13. ICSE ‘09: New Ideas and Emerging Results
Evaluation
RQ1: How effective is
ADDA at minimizing
failing executions?
RQ2: How much
overhead does ADDA
impose?
ADDA
Assisting the Debugging of
Deployed Applications
13
14. ICSE ‘09: New Ideas and Emerging Results
Subject and faults
Two real field failures
from Pine’s history
address book fault
header-color fault
Pine email and news client
14
15. ICSE ‘09: New Ideas and Emerging Results
RQ1: Minimization results
✘
Around 10% of the
recording remains
after minimization
We were able to
debug the failures
using the minimized
recording
15
16. ICSE ‘09: New Ideas and Emerging Results
RQ2: Overhead results
Online: negligible
overhead while
recording
Offline: less than 75
minutes to minimize
16
17. ICSE ‘09: New Ideas and Emerging Results
Future work
Support
GUI events
Non-determinism
Additional studies with
more subjects
ADDAAssisting the Debugging of
Deployed Applications
17
18. ICSE ‘09: New Ideas and Emerging Results
Utilize passing executions
Captured failures are
utilized for debugging
Captured successful
executions are
discarded
Can we also use
them?
Record
✘
Minimize
✘
Captured
failure
✔
Captured
success
Trash
18
19. ICSE ‘09: New Ideas and Emerging Results
Address privacy issues
Captured executions
can contain sensitive
information
How can we sanitize
sensitive information
but make sure the
failure still occurs?
✘
Captured
failure
Credit card numbers
Email addresses
Account names
Passwords
19
20. ICSE ‘09: New Ideas and Emerging Results
Thank you
clause@cc.gatech.edu
www.cc.gatech.edu/~clause
20