Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages &Amp; Applications 2014
DOI: 10.1145/2660193.2660209
|View full text |Cite
|
Sign up to set email alerts
|

Tardis

Abstract: Developers who set a breakpoint a few statements too late or who are trying to diagnose a subtle bug from a single core dump often wish for a time-traveling debugger. The ability to rewind time to see the exact sequence of statements and program values leading to an error has great intuitive appeal but, due to large time and space overheads, time-traveling debuggers have seen limited adoption.A managed runtime, such as the Java JVM or a JavaScript engine, has already paid much of the cost of providing core fea… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 19 publications
(16 citation statements)
references
References 40 publications
0
16
0
Order By: Relevance
“…Relational query optimization is a prime realistic example. 3 In our setting, we can revisit it, with Datalog syntax, before building further on it. A common static analysis rule, responsible for interpreting calls as assignments from actual to formal arguments, is shown below:…”
Section: Programming Model: Costmentioning
confidence: 99%
See 1 more Smart Citation
“…Relational query optimization is a prime realistic example. 3 In our setting, we can revisit it, with Datalog syntax, before building further on it. A common static analysis rule, responsible for interpreting calls as assignments from actual to formal arguments, is shown below:…”
Section: Programming Model: Costmentioning
confidence: 99%
“…This complicates debugging enormously. For instance, the mechanism of time-travel debugging (e.g., see Reference [3]), which has captured the programming community's imagination in recent years, works only when the space of intermediate values of a computation is not that much larger from the space of final values. This is not the case for abstract programs.…”
Section: Changes To Development Workflowsmentioning
confidence: 99%
“…A recent example is the work of Barr and Marron [53] on the TARDIS debugger which provides very efficient omniscient debugging for C#. While most research on omniscient debugging is being done for GPLs, little work has been done to provide omniscient debugging for executable DSLs.…”
Section: Omniscient Debugging For Executable Dslsmentioning
confidence: 99%
“…These images allow developers to deploy a pre-configured system into production or continue development at a previous state. Snapshots can also facilitate time-traveling and record & replay debugging [4,5], by restoring a program execution to an earlier point in time to investigate events that lead to the occurrence of a bug. Finally, snapshots enable quick crash recovery and moving a program's execution to a different machine.…”
Section: Introductionmentioning
confidence: 99%
“…Creating a snapshot requires the program state to be persisted. In Lisp, Smalltalk, and other systems [4], this is done with heap dumps integrated with the garbage collector (GC). This, however, requires virtual machine (VM) support and usually stops the world to create a consistent snapshot, making the program unresponsive.…”
Section: Introductionmentioning
confidence: 99%