デバッグのためのプログラム逆実行(平成11年度 冬学期 情報輪講)

プログラマのデバッグ作業を支援するソフトウェアとして、デバッガがある。
デバッガは主に、
(1) プログラムを指定したところで停止させる、
(2) プログラムを一行ずつ実行する、
(3) 停止した場所での変数の値を表示・変更する、
といった機能を持つ。「どのコードが間違いを引き起こしているか」を
決定するためには、(1) や (2) のような実行制御は欠かすことができない。

しかしながら、現在のデバッガはプログラムを通常実行と同じように
順方向にしか実行させることしかできないため、正しいと思い込んで、
あるいは操作ミスにより、バグの現場を通り過ぎてしまうことがある。
こうした場合に、デバッガによってプログラムを逆方向に実行して
見せる機能が提供されることは、デバッグ支援として非常に有効である。

本輪講では、逐次処理のプログラムを対象として、このような「プログラム
逆実行」や「プログラム実行履歴の再現」を実現するいくつかの研究について
紹介する。
研究紹介のページへ