USENIX 2004 Annual Technical Conference, General Track Abstract
Pp. 2944 of the Proceedings
Flashback: A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging
Sudarshan M. Srinivasan, Srikanth Kandula, Christopher R. Andrews, and Yuanyuan Zhou, University of Illinois, Urbana-Champaign
Software robustness has significant impact on system availability.
Unfortunately, finding software bugs is a very challenging task
because many bugs are hard to reproduce.
While debugging a program, it would be very useful to rollback a
crashed program to a previous execution point and deterministically
re-execute the ``buggy'' code region.
However, most previous work on rollback and replay support was
designed to survive hardware or operating system failures, and is
therefore too heavy-weight for the fine-grained rollback and replay
needed for software debugging.
This paper presents Flashback, a lightweight OS extension that
provides fine-grained rollback and replay to help debug
software. Flashback uses shadow processes to efficiently roll back
in-memory state of a process, and logs a process' interactions with
the system to support deterministic replay. Both shadow processes and
logging of system calls are implemented in a lightweight fashion
specifically designed for the purpose of software debugging.
We have implemented a prototype of Flashback in the Linux operating
system. Our experimental results with micro-benchmarks and real
applications show that Flashback adds little overhead and can quickly
roll back a debugged program to a previous execution point and
deterministically replay from that point.
- View the full text of this paper in HTML and PDF.
The Proceedings are published as a collective work, © 2004 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.