研究実績の概要 |
本研究では,「クラッシュログからのソースコード修正箇所の推定」の実現を目指し6つのサブタスクを実施する.そのうち,最終年度である本年度は研究成果をまとめるために,主に次の3つのサブタスク,(1) リポジトリ間のリンキング技術の開発と学習データの作成の継続,及び,(2) ソフトウェアの修正箇所推定のためのモデリング技術の継続,(3) プロトタイプツールの作成を行った.(1) リポジトリ間のリンキング技術の開発と学習データの作成の継続では,Firefoxプロジェクトで3年間に蓄積された約460,000,000件のクラッシュレポート,および,Bugzillaで15年間に蓄積された930,000件の不具合レポートを対象とした結果,例えば,不具合に関連づけられているクラッシュタイプの90%は,1,000件のレポートが送信されるまでの間に関連づけられていることを明らかにした.(2) ソフトウェアの修正箇所推定のモデリング技術では,クラッシュレポートによる不具合発見とテストによる不具合発見の分類を目的として,テストコードとプロダクトコード変更とのリンキングを行った.本成果により,クラッシュレポートと不具合報告,変更コードとのミスリンキングの削減(モデリング技術の精度向上に寄与)が期待できる.(3) プロトタイプツールの作成では,スタックトレースの解析機能,ソースコードのメトリクス計測機能,欠陥箇所予測機能を実装した.本ツールは対象ソフトウェアの言語,構成等に依存することなく,適用することが可能である.調査の結果,ツールが出力する上位5件のファイルの中に,約50%の確率でクラッシュの欠陥ファイルが含まれることがわかった.
|