An efficient and generic reversible debugger using the virtual machine based approach

Toshihiko Koju, Shingo Takada, Norihisa Doi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

15 Citations (Scopus)

Abstract

The reverse execution of programs is a function where programs are executed backward in time. A reversible debugger is a debugger that provides such a functionality. In this paper, we propose a novel reversible debugger that enables reverse execution of programs written in the C language. Our approach takes the virtual machine based approach. In this approach, the target program is executed on a special virtual machine. Our contribution in this paper is two-fold. First, we propose an approach that can address problems of (1) compatibility and (2) efficiency that exist in previous works. By compatibility, we mean that previous debuggers are not generic, i.e., they support only a special language or special intermediate code. Second, our approach provides two execution modes: the native mode, where the debuggee is directly executed on a real CPU, and the virtual machine mode, where the debuggee is executed on a virtual machine. Currently, our debugger provides four types of trade-off settings (designated by unit and optimization) to consider trade-offs between granularity, accuracy, overhead and memory requirement. The user can choose the appropriate setting flexibly during debugging without finishing and restarting the debuggee.

Original languageEnglish
Title of host publicationProceedings of the First ACM/USENIX International Conference on Virual Execution Environments, VEE 05
Pages79-88
Number of pages10
DOIs
Publication statusPublished - 2005 Dec 1
EventFirst ACM/USENIX International Conference on Virual Execution Environments, VEE 05 - Chicago, IL, United States
Duration: 2005 Jun 112005 Jun 12

Publication series

NameProceedings of the First ACM/USENIX International Conference on Virual Execution Environments, VEE 05

Other

OtherFirst ACM/USENIX International Conference on Virual Execution Environments, VEE 05
CountryUnited States
CityChicago, IL
Period05/6/1105/6/12

    Fingerprint

Keywords

  • Debugger
  • Reverse Execution
  • Virtual Machine

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Koju, T., Takada, S., & Doi, N. (2005). An efficient and generic reversible debugger using the virtual machine based approach. In Proceedings of the First ACM/USENIX International Conference on Virual Execution Environments, VEE 05 (pp. 79-88). (Proceedings of the First ACM/USENIX International Conference on Virual Execution Environments, VEE 05). https://doi.org/10.1145/1064979.1064992