Interactive record/replay for web application debugging

Download: PDF, slides (PDF), slides (PowerPoint), Timelapse implementation.

“Interactive record/replay for web application debugging” by Brian Burg, Richard Bailey, Andrew J. Ko, and Michael D. Ernst. In UIST 2013: Proceedings of the 26th ACM Symposium on User Interface Software and Technology, (St. Andrews, UK), Oct. 2013, pp. 473-484.


During debugging, a developer must repeatedly and manually reproduce faulty behaviors in order to inspect different facets of the program's execution. Existing tools for reproducing such behaviors prevent the use of debugging aids such as breakpoints and logging, and are not designed for interactive, random-access exploration of recorded behavior. This paper presents Timelapse, a tool for quickly recording, reproducing, and debugging interactive behaviors in web applications. Developers can use Timelapse to browse, visualize, and seek within recorded program executions while simultaneously using familiar debugging tools such as breakpoints and logging. Testers and end-users can use Timelapse to demonstrate failures in situ and share recorded behaviors with developers, improving bug report quality by obviating the need for detailed reproduction steps. Timelapse is built on Dolos, a novel record/replay infrastructure that ensures deterministic execution by capturing and reusing program inputs both from the user and from external sources such as the network. Dolos introduces negligible overhead and does not interfere with breakpoints and logging. In a small user evaluation, participants used Timelapse to accelerate existing reproduction activities, but were not significantly faster or more successful in completing the larger tasks at hand. Together, the Dolos infrastructure and Timelapse developer tool support systematic bug reporting and debugging practices.

Download: PDF, slides (PDF), slides (PowerPoint), Timelapse implementation.

BibTeX entry:

   author = {Brian Burg and Richard Bailey and Andrew J. Ko and Michael D.
   title = {Interactive record/replay for web application debugging},
   booktitle = {UIST 2013: Proceedings of the 26th ACM Symposium on User
	Interface Software and Technology},
   pages = {473--484},
   address = {St.\ Andrews, UK},
   month = oct,
   year = {2013}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.