Speaker: Brad Calder
UCSD
Monday, October 31, 2005
11:00 a.m.
EBU3B 1202
ABSTRACT
Debugging production software can be a nightmare. It can take weeks or longer for developers to reproduce bugs that occur at a customer's site, especially when it is hard to reproduce the exact same execution environment where the bug occurred.
In this talk I will describe both a hardware and software implementation for continuously recording the necessary information during program execution to enable a developer to reproduce bugs that occur at a customer's site. The goal is to provide this tracing with such a low overhead that it can be left on during production runs to catch those bugs that are almost impossible to reproduce. Our solution focuses on creating small traces that provide deterministic replay without having to trace I/O events, and without requiring a large core or memory image file to be stored and sent back to the developer for debugging. These traces allow application level bugs to deterministically be replayed to quickly enable debugging at the developers site.
I will describe how to use these logs to aid debugging, and then conclude by describing how these logs can be used to (a) simplify the building of architecture simulators, and (b) enable the running of complex software on architecture simulators.
Students Involved: Satish Narayanasamy, Cristiano Pereira, and Gilles Pokam
BIO
Brad Calder is a Professor of Computer Science and Engineering at the University of California, San Diego. He co-founded the International Symposium on Code Generation and Optimization (CGO) and the ACM Transactions on Architecture and Code Optimization (TACO). He has published over 90 papers spanning the areas of computer architecture, compiler optimizations, program analysis, and systems. He is a co-founder and was the Director of Platform Engineering for a desktop distributed computing company called Entropia Inc. from 2000 to 2002. Before joining UCSD in January of 1997, he co-founded another startup called TracePoint Inc., which built performance analysis tools using x86 binary modification technology. In addition, he has worked as a Principal Engineer at Digital Equipment Corporation's Western Research Lab in Palo Alto. Brad Calder received his Ph.D. in Computer Science from the University of Colorado, Boulder in 1995. He obtained a B.S. in Computer Science and a B.S. in Mathematics from the University of Washington in 1991. He is a recipient of an NSF CAREER Award.