Debugging Field Failures by Minimizing Captured Executions (ICSE 2009: NIER example)
-
Upload
james-clause -
Category
Technology
-
view
55 -
download
3
Transcript of Debugging Field Failures by Minimizing Captured Executions (ICSE 2009: NIER example)
ICSE ‘09: New Ideas and Emerging Results
Debugging Field Failures by Minimizing Captured ExecutionsJames Clause and Alessandro OrsoGeorgia Institute of Technology
1
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
ICSE ‘09: New Ideas and Emerging Results
Current approaches
Collect limitedinformation
Ask the userhow to reproduce
3
ICSE ‘09: New Ideas and Emerging Results
Replay / Debug
Develop Record
✘
Captured
failure
In th
e fi
eldIn
ho
use
Our approach
4
ICSE ‘09: New Ideas and Emerging Results
Our approachIn
the
fie
ldIn h
ou
se
Replay / Debug
Develop Record
✘
Minimize✘
Captured
failure
✘
Minimized
failure
5
ICSE ‘09: New Ideas and Emerging Results
Recording
Capture high-level events
efficient
amenable to minimization
6
ICSE ‘09: New Ideas and Emerging Results
Replaying
Interfere as little as possible
redirect high-level events
maintain relative time of events
7
ICSE ‘09: New Ideas and Emerging Results
Minimization
Focus debugging effort
Iteratively remove what is not necessary for reproducing the failure
✘
8
ICSE ‘09: New Ideas and Emerging Results
2-phase minimization
Time minimization
✂Data minimization
9
ICSE ‘09: New Ideas and Emerging Results
Time minimization
Remove idle times
Reduce event latency
10
ICSE ‘09: New Ideas and Emerging Results
Data minimization
Remove data hierarchically
1. complete files
2. pieces of files
3. individual characters ✂11
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
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
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
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
ICSE ‘09: New Ideas and Emerging Results
RQ2: Overhead results
Online: negligible overhead while recording
Offline: less than 75 minutes to minimize
16
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
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
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
failureCredit card numbers
Email addresses
Account names
Passwords
19