|
Debugging Backwards in Time
Dr. Bil Lewis
Computer Scientist, MIT (Broad Institute (Genomics)
Friday, December 7, 2007
11:00 a.m. - 12:00 p.m.
Fuller Labs 320
What
if a debugger could allow you to simply step BACKWARDS?
Instead
of all that hassle with guessing where to put breakpoints and the fear of
typing "continue" one too many times... What if you could simply go
backwards to see what went wrong?
This
is the essence of the "Omniscient Debugger" -- it remembers everything
that happened during the run of a program, and allows the programmer to
"step backwards in time" to see what happened at any point of the
program. All variable values, all objects, all method calls, all exceptions
are recorded and the programmer can now look at anything that happened at any
time.
In
this talk, I will describe the design of the "ODB" – an implementation
of Omniscient Debugging for Java programs – and discuss the various
costs and trade-offs. The last half of the talk will be a demonstration of
the ODB, showing how the various pieces of data are displayed and how the
programmer can
"navigate"
through time to see what the program was doing, where values were set, when
various threads ran, etc.
At the
conclusion of the talk, the audience will be invited to use the ODB to find
some actual bugs. Anyone having a laptop with Java on it can download the ODB
(beforehand!) and try using it to find the bugs themselves.
_______
Bil Lewis is a computer
scientist currently working in genomics at MIT. He has worked on natural language understanding,
expert systems, language design, and programming tools. He is the inventor of the Omniscient Debugger,
a system that allows a programmer to go "backwards in time".
He studied at Ripon College,
the University of Indiana, and Penn.
He has taught Computer Science at Stanford and Tufts Universities
and for numerous companies. He has worked at Stanford Research Institute, the
FMC AI Center, and Sun Microsystems.
Bil wrote the "GNU Emacs Lisp", the "Threads Primer",
"Multithreaded Programming with PThreads", and "Multithreaded
Programming with Java" (now in Chinese).
Host: Gary Pollice
Refreshments will be
served
Maintained by webmaster@cs.wpi.edu
Last modified: Mon Dec 10 19:41:21 EST 2007
|