Temporal meta-programming: treating time as a spatial dimension.
Permanent URL:
http://hdl.handle.net/2047/d20002935
Harrison, Robert J. (Committee member)
Desnoyers, Peter (Committee member)
Kirda, Engin (Committee member)
In this dissertation, we present a new reversible debugging platform, based on checkpoint, restart, re-execute and decomposition of histories of debugging commands. Our platform can reversibly debug real-world multithreaded programs, such as MySQL, on multi-core architectures.
We present a novel tool implemented on top of this reversible debugging platform, called reverse expression watchpoint. Reverse expression watchpoint helps the user diagnose bugs, for which the cause of the bug is far away from the manifestation. Once the user identifies a failed invariant, she wishes to automatically locate a program statement inside a debugger, such as GDB, where the invariant holds, but it will fail at the next immediate statement. This approach is different than GDB's software watchpoints. Reverse expression watchpoint performs large jumps in time, thanks to this new approach, and it takes advantage of multi-core architectures during replay, for multithreaded applications.
debugger
deterministic replay
GDB
reversible debugger
watchpoint
Computer Sciences
Software Engineering
Copyright restrictions may apply.