loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
32nd Annual International Symposium on Computer Architecture (ISCA'05)
BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging
Madison, Wisconsin
June 04-June 08
ISBN: 0-7695-2270-X
Satish Narayanasamy, University of California at San Diego
Gilles Pokam, University of California at San Diego
Brad Calder, University of California at San Diego

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.

Citation:
Satish Narayanasamy, Gilles Pokam, Brad Calder, "BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging," isca, pp.284-295, 32nd Annual International Symposium on Computer Architecture (ISCA'05), 2005
Usage of this product signifies your acceptance of the Terms of Use.