A Taxonomy of Execution Replay Systems

Frank Cornélis, Andy Georges, Mark Christiaens, Michiel Ronsse, Tom Ghesquiere · 2003

Debugging a faulty program can be very hard and time-consuming. The programmer usually reexecutes his program, while zooming in on the root cause of the bug. However, sometimes bugs seem to appear only intermittently, making it even harder for the programmer to solve them. The main reason for this is that when executing a program, there are numerous non-deterministic events taking place within the computer, which can wreck even a very carefully crafted debugging session. To deal with these ghostly bugs, one needs to remove the non-determinism from the execution and its environment. Therefore various socalled execution replay systems have been devised, each with their merits and limitations. We give an overview of the terminology used when discussing execution replay, of the causes of nondeterminism within a computer, and of the current state of the art in execution replay systems.

Read the paper · More papers on PaperTik