今年度はマイニングというアプローチで、再利用可能な予測器を見出すことの可能性につての検討を行うと共に、この手法に基づく予測ツールのプロトタイプの試作を目指した。ソフトウェア欠陥予測ツールは訓練プロジェクト、利用するメトリクス、予測のアルゴリズムを決める事で予測器を作る。そしてこの予測器に検査プロジェクトを与える事で予測を行う。従って与えられた検査プロジェクトに対して適切な予測器を選ぶ手法を提案し、その適切性を検証した。 本手法ではソフトウェア欠陥予測のために用意されている参照データセットを使い、有望なアルゴリズム、メトリクス種別を使って予測器を多く作る。そしてその予測器を使って参照データセットに対して予測実験を行う。この予測実験の結果の精度を種々の条件の元でT/Fに分け、Tとなるような予測器を検査プロジェクトから識別するプログラムをデータマイニング手法に基づいて導く。そして予測においては予測対象プロジェクトに対してこのプログラムを実行する事で、適切な予測器を識別する。識別された予測器がある場合は、それを使って予測を行う。無い場合は精度基準を可能な範囲でゆるめて再度識別を試みる。 このような手法を提案し、参照データセットに基づき検証実験を行い、識別が可能であることを実証した。本手法に基づくツールについて現在開発中であり、本課題の研究期間内には開発完了には至らなかった。 このように初期には類似のプロジェクトを探して、そのプロジェクトから作った予測器に対して検査プロジェクトのデータをカストマイズする事での再利用を目指したが、予測アルゴリズムの考慮などを行っていく中でマイニングという手法にたどり着いた。 予測を自動で行うツールの開発までに至らなかったが、知識ベースを使って最適な予測器を見つけ出し、再利用するという新しい手法の可能性を示すことはできた
|