A Reversible Debugger Using Dynamic Translation.

Toshihiko Koju, Shingo Takada, Norihisa Doi

研究成果: Article査読


The reverse execution of programs is a function where programs are executed backward in time. In other words, it is a function that “undoes” effects of previously executed instructions, lines, and procedures. A reversible debugger is a debugger that provides such a functionality. In this paper, we propose a novel approach for the reverse execution of programs written in the C language. Our approach is based on a method called dynamic translation. In dynamic translation, programs are translated and executed on virtual machines concurrently. Our approach has the following advantages compared with existing approaches: (1) our approach enables reverse execution of arbitrary code as long as there is sufficient memory, (2) our approach is very flexible, and (3) our approach allows fast execution. This is because all code to be executed are translated by a flexible virtual machine, and almost all execution is carried out by native machine code generated by the translation.

ジャーナルComputer Software
出版ステータスPublished - 2005

ASJC Scopus subject areas

  • ソフトウェア


「A Reversible Debugger Using Dynamic Translation.」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。