[学士論文] 動的データ依存集合の発生確率を用いた欠陥箇所特定支援の実現

小林研B4の中野さんが学士論文の発表を行いました.

論文題目:動的データ依存集合の発生確率を用いた欠陥箇所特定支援の実現
論文概要:

ソフトウェア開発においてデバッグは時間のかかる作業である. バグの原因である欠陥を修正するためには, 顕在化した不具合から感染状態を遡り検査しなければなず, 感染状態が長く続く場合には欠陥にたどり着くのは困難になる.そのため, 欠陥箇所特定を支援する研究が多くなされている.

既存手法の多くはある時点での状態のみを用いており, そこに至るまでの経緯を考慮できず長い感染状態には対応できない. 実行パスを考慮する手法も存在するが, 計算コストが非常に大きいという問題がある. これに対し村松らは,変数間のデータ依存を多段階取得することで, ある状態に至る経緯をデータ依存の集合として表現し, 低コストで長い感染状態を検出する手法を提案した.

本研究の目的は村松らの手法を実際のプログラムに適用できるように詳細を定め, 評価を行うことである. 本論文では, 村松の手法を拡張し複数回の失敗実行の解析法と取得可能なトレース情報のみを用いる方法を提案した. また, 既存のトレーサー(selogger) に変更を加えることで手法が必要とする情報を含むトレースを生成し, このトレースを用いて解析を行うツールを実装した.

これらを用いて, 欠陥箇所特定手法のベンチマークとして用いられるSIR プログラムに対して, 提案手法の評価実験を行った. この結果から, データ依存を多段階に取得することで直前のデータ依存のみを用いるよりも性能が向上することを示した. さらに, 本手法が既存手法であるTarantula, Ochiai, ER5^b と同等以上の性能を持ち, 欠陥の種類によってはER1a を上回ることを示した.