Wed 5 Apr 2017 14:30 - 15:00 at D0.07 - Research Papers 2 Chair(s): Shigeru Chiba

Reversible debuggers and process replay have been developed at least since 1970. This vision enables one to execute backwards in time under a debugger. Two important problems in practice are that, first, current reversible debuggers are slow when reversing over long time periods, and, second, after building one reversible debugger, it is difficult to transfer that achievement to a new programming environment.

The user observes a bug when arriving at an error. Searching backwards for the correspond- ing fault may require many reverse steps. Ultimately, the user prefers to write an expression that will transition to false upon arriving at the fault. The solution is an expression-transition watchpoint facility based on top of snapshots and record/replay. Expression-transition watch- points are implemented as binary search through the timeline of a program execution, while using the snapshots as landmarks within that timeline. This allows for debugging of subtle bugs that appear only after minutes or more of program execution. When a bug occurs within seconds of program startup, repeated debugging sessions suffice. Reversible debugging is preferred for bugs seen only after minutes.

This architecture allows for an efficient and easy-to-write snapshot-based reversibe debugger on top of a conventional debugger. The validity of this approach was tested by developing four personalities (for GDB, MATLAB, Perl, and Python), with each personality typically requiring just 100 lines of code.

Wed 5 Apr

programming-2017-papers
13:30 - 15:00: Research Papers - Research Papers 2 at D0.07
Chair(s): Shigeru ChibaUniversity of Tokyo
programming-2017-papers13:30 - 14:00
Talk
Oliver SerangFreie Univeristät Berlin, Florian HeylFreie Universität Berlin
Link to publication DOI
programming-2017-papers14:00 - 14:30
Talk
Alexandru Iosif-LazarIT University of Copenhagen, Jean MeloIT University of Copenhagen, Aleksandar S. DimovskiIT University of Copenhagen, Denmark, Claus BrabrandIT University of Copenhagen, Denmark, Andrzej WąsowskiIT University of Copenhagen, Denmark
Link to publication DOI
programming-2017-papers14:30 - 15:00
Talk
Kapil Arya, Tyler Denniston, Ariel RabkinCloudera, Gene CoopermanNortheastern University
Link to publication DOI