本研究はソフトウェアの自動デバッグ方式の構築を目的とする.基課題では,柔らかい制約の考え方を用いて不具合箇所発見を行い,さらにC言語を対象とするデバッグツールを開発した.本課題では基課題を発展させて,柔らかい制約と複数パスを用いたプログラムの不具合箇所発見・可視化方式を研究開発する.特に,基課題で構築したプログラム符号化方式の拡張,それに対して柔らかい制約を組み合わせた不具合箇所発見方式の構築,発見した不具合箇所候補をユーザに提示する可視化方式の構築に取り組む. 平成29年度には,研究代表者が渡航先外国機関であるニースソフィアアンティポリス大学に滞在し,以下の研究を行った.まず,柔らかい制約と複数パスを用いたプログラムの不具合箇所発見方式を構築した.本方式は,基課題で構築したhardened flow-sensitive trace formula (HFTF)を拡張したものである.HFTFでは,不具合箇所を含まないと判断したパスの部分を固い制約で,それ以外の部分を柔らかい制約で符号化していたのに対して,本方式では,不具合箇所を含みうるパスの部分をさらに分類して複数段階の柔らかい制約で符号化することで,不具合箇所候補のランキングを実現している.本方式の実装は,基課題で開発したデバッグツールSNIPERを拡張することで行った.本研究ではさらに,不具合箇所候補を可視化し,ユーザに提示するグラフィカルユーザインタフェースを備えたツールを開発した.
|