ソフトウェア開発の現場ではプログラムの実行を失敗させる記述上の誤り(不具合)を特定・修正するデバッグが不可欠である。一般にデバッグは多大な時間と労力を要する作業であるが、その状況の改善が遅々として進まない状況が何十年も続いている。ソフトウェア開発全体の効率化のためにもデバッグの効率化が必要とされている。 デバッグの効率化が進まない根本的な原因は、ソフトウェアの複雑性に対して既存のデバッガ(バッグ支援ツール)とデバッグ手法が十分な解決手法を提供していない事にあると我々は考えている。本研究は特に Java 言語を対象とした「全知デバッガ(Omniscient Debugger)」と呼ばれる新しデバッガとその用法を開発し、デバッグ作業の効率化に於ける効果を評価する事を目的としている。本デバッガは複雑生の問題に対処するために、プログラムの実行履歴(トレース)を「捜査地図」と呼ばれる新しい方式で可視化する点に大きな特徴を有している。全知デバッガは膨大なデータ量のプログラムトレース(プログラムの実行履歴)の処理が必要であるため、しばしばその実用性が疑問視される。また全知デバッガを用いる事による利点は必ずしも十分に明らかにされていない。本研究はこれらの疑問に答えるという意味で学問的な意義を有している。 研究期間内ではデバッガ(特に「捜査地図」)の仕様策定と評価実験の準備のために現実のデバッグ作業の分析を実施すると共にデバッガの開発を実施した。捜査地図の一部(ソースコード中の式(expression)と実行を対応付ける表示)の実装で技術的な問題が発生したために研究期間内で全ての開発を完了する事が出来なかった。本報告書を提出する段階でこの問題を解決する目処は立っており、上述の実装のテストを実施している。今後は捜査地図の実装を完成させ、本デバッガの作業の効率化に於ける効果の検証を進めて行きたい。
|