Title
BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging
Abstract
Significant time is spent by companies trying to reproduce and fix the bugs that occur for released code. To assist developers, we propose the BugNet architecture to continuously record information on production runs. The information collected before the crash of a program can be used by the developers working in their execution environment to deterministically replay the last several million instructions executed before the crash. BugNet is based on the insight that recording the register file contents at any point in time, and then recording the load values that occur after that point can enable deterministic replaying of a programýs execution. BugNet focuses on being able to replay the applicationýs execution and the libraries it uses, but not the operating system. But our approach provides the ability to replay an applicationýs execution across context switches and interrupts. Hence, BugNet obviates the need for tracking program I/O, interrupts and DMA transfers, which would have otherwise required more complex hardware support. In addition, BugNet does not require a final core dump of the system state for replaying, which significantly reduces the amount of data that must be sent back to the developer.
Year
DOI
Venue
2005
10.1145/1080695.1069994
International Symposium on Computer Architecture
Keywords
Field
DocType
software systems,operating system,hardware,computer architecture,debugging,instruction sets,application software,register file,computer bugs,computer science
Crash,Architecture,Computer science,Instruction set,Parallel computing,Register file,Real-time computing,Operating system,Debugging,Core dump,Context switch
Conference
Volume
Issue
ISSN
33
2
0163-5964
Citations 
PageRank 
References 
163
6.52
23
Authors
3
Search Limit
100163
Name
Order
Citations
PageRank
Satish Narayanasamy1104044.36
Gilles A. Pokam251826.04
Brad Calder34145251.59