Temporal meta-programming: treating time as a spatial dimension.

Title:
Temporal meta-programming : treating time as a spatial dimension
Creator:
Vişan, Ana-Maria (Author)
Contributor:
Cooperman, G. (Gene) (Advisor)
Harrison, Robert J. (Committee member)
Desnoyers, Peter (Committee member)
Kirda, Engin (Committee member)
Publisher:
Boston, Massachusetts : Northeastern University, 2012
Date Accepted:
April 2012
Date Awarded:
May 2012
Type of resource:
Text
Genre:
Dissertations
Format:
electronic
Digital origin:
born digital
Abstract/Description:
Reversible debuggers have existed since the early 1970s. However, they are not widely used, with the possible exception of GDB. GDB's target record is useful only when the cause of the bug is close in time to the bug manifestation. When the cause of the bug is far away from the manifestation, one resorts to a series of debugging sessions with the goal of narrowing down the cause of the bug. Thanks to reverse execution, it is possible to jump back and forth to any time of the execution.

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.
Subjects and keywords:
checkpoint
debugger
deterministic replay
GDB
reversible debugger
watchpoint
Computer Sciences
Software Engineering
DOI:
https://doi.org/10.17760/d20002935
Permanent Link:
http://hdl.handle.net/2047/d20002935
Use and reproduction:
In Copyright: This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the right-holder(s). (http://rightsstatements.org/vocab/InC/1.0/)
Copyright restrictions may apply.

Downloads