• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Debugging operating systems with time-traveling virtual machines (2005)

Cached

  • Download as a PDF

Download Links

  • [www.eecs.umich.edu]
  • [www.eecs.umich.edu]
  • [www.eecs.umich.edu]
  • [www.eecs.umich.edu]
  • [www.usenix.org]
  • [www.usenix.org]
  • [www.cs.ubc.ca]
  • [www.cs.ubc.ca]
  • [www.eecs.umich.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Samuel T. King , George W. Dunlap , Peter M. Chen
Citations:114 - 7 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@INPROCEEDINGS{King05debuggingoperating,
    author = {Samuel T. King and George W. Dunlap and Peter M. Chen},
    title = {Debugging operating systems with time-traveling virtual machines},
    booktitle = {},
    year = {2005},
    pages = {1--15}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Operating systems are difficult to debug with traditional cyclic debugging. They are non-deterministic; they run for long periods of time; they interact directly with hardware devices; and their state is easily perturbed by the act of debugging. This paper describes a time-traveling virtual machine that overcomes many of the difficulties associated with debugging operating systems. Time travel enables a programmer to navigate backward and forward arbitrarily through the execution history of a particular run and to replay arbitrary segments of the past execution. We integrate time travel into a general-purpose debugger to enable a programmer to debug an OS in reverse, implementing commands such as reverse breakpoint, reverse watchpoint, and reverse single step. The space and time overheads needed to support time travel are reasonable for debugging, and movements in time are fast enough to support interactive debugging. We demonstrate the value of our time-traveling virtual machine by using it to understand and fix several OS bugs that are difficult to find with standard debugging tools. Reverse debugging is especially helpful in finding bugs that are fragile due to non-determinism, bugs in device drivers, bugs that require long runs to trigger, bugs that corrupt the stack, and bugs that are detected after the relevant stack frame is popped. 1

Citations

990 Xen and the Art of Virtualization - Barham, Dragovic, et al. - 2003
299 Postmark: a new file system benchmark. Network Appliance - Katcher - 1997
299 Simics: A full system simulation platform - Magnusson, Christensson, et al.
277 ReVirt: Enabling intrusion analysis through virtual-machine logging and replay - Dunlap, King, et al. - 2002
266 Debugging parallel programs with instant replay - LEBLANC, M - 1987
199 An Empirical Study of Operating Systems Errors - Chou, Yang, et al. - 2001
196 Scale and performance in the Denali isolation kernel - Whitaker, Shaw, et al. - 2002
182 Survey of Virtual Machine Research - Goldberg - 1974
177 Hypervisor-based fault tolerance - Bressoud, Schneider - 1995
172 Virtualizing I/O Devices on VMware Workstation’s Hosted Virtual Machine Monitor - Sugerman, Venkitachalam, et al.
171 Why do computers stop and what can be done about it - Gray - 1986
142 Optimizing the migration of virtual computers - Sapuntzakis, Chandra, et al. - 2002
137 A ”flight data recorder” for enabling full-system multiprocessor deterministic replay - XU, BODIK, et al.
118 Self-securing storage: Protecting data in compromised systems - Strunk, Goodson, et al. - 2000
112 A User-mode Port of the Linux Kernel - Dike
90 IGOR: A system for program debugging via reversible execution - Feldman, Brown - 1988
89 A debugger for standard ml - Tolmach, Appel - 1995
82 Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines - LeVasseur, Uhlig, et al. - 2004
52 Operating system support for virtual machines - King, Dunlap, et al. - 2003
48 A Software Instruction Counter - MELLOR-CRUMMEY, LEBLANC - 1989
46 Replay for Concurrent Non-deterministic Shared-memory Applications - Russinovich, Cogswell - 1996
39 Efficient Algorithms for Bidirectional Debugging - Boothe
36 Optimal tracing and incremental reexecution for debugging long-running programs - Netzer, Weaver - 1994
35 Hardware-assisted replay of multiprocessor programs - Bacon, Goldstein - 1991
26 Reconstructing I/O - Fraser, Hand, et al. - 2004
23 An execution-backtracking approach to debugging - Agrawal, DeMillo, et al. - 1991
21 Reversible execution - Zelkowitz - 1973
15 Reversible debugging using program instrumentation - Chen, Fuchs, et al. - 2001
8 Flashback: A light-weight rollback and deterministic replay extension for software debugging - Srinivasan, Kandula, et al. - 2004
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University