著者
菅沼 毅 浦 昭二
雑誌
全国大会講演論文集
巻号頁・発行日
vol.38, pp.1231-1232, 1989-03-15

通常、プログラマはロジックエラーを次のようにしてデバッグする。まず、プログラムを実行し制御の流れ・変数値の変化等の実行時情報を収集する。次にこれを仕様やプログラムとの比較により解析してバグ原因の仮説を立てる。そして再び情報収集・解析を行い、仮説の正しさ/誤りを調べる。この手続きによるバグの発見には豊富な経験や技術あるいは勘を要し、多くの試行錯誤を伴うため、初心者には困難である。そこで、「'エラー'とは、利用者の意図どうりにシステムが機能しない状態.'バグ'とは、エラーの発生し得る要因のうちソフトウェアに内在する原因.」という定義に立ち返って、エラーが発生した際のバグの発見・真の原因探索の支援方法について考える。従来の代表的なアプローチに対する批判点のうち本研究の着目点として次の2点を想定している。a)プログラムを静的なものとして捉えていること,b)プログラミングの意図を考慮していないこと。a)に関しては、インスツルメンテーションを用いた動特性データの保存により、対象をソースコードだけではなく、プログラムの動作・振舞いとする。b)に関しては、プログラムに込められた意図を、宣言的な表現を用いて記述することにより、処理の対象に加える。プログラムへの意図と実際の動作との間に存在する矛盾はプログラムが期待通りに動作していない点であり、すなわちバグである。 よってこの矛盾点を発見・報告することが出来ればデバッグ時の有力な情報に成ると考えられる。