ソフトウェア品質向上を目的として,欠陥予測モデルのオンライン最適化を行い,精度向上が期待できる成果を得られた.具体的には,精度向上のために最適な説明変数の選択とラーニングデータの選択を行うことを可能とした.後者について概説する.新規開発のソフトウェアにおいて欠陥予測を行う場合,別のソフトウェアから収集したデータをラーニングデータとし,モデル構築する必要がある.これはCPDPと呼ばれる.一般にCPDPでは予測精度が低下することが多い.ソフトウェアが異なると,説明変数と目的変数の関係が大きく異なりうるためである.CPDPの予測精度を高めるために,バンディットアルゴリズムに基づくラーニングデータ選択を行った.さらに,欠陥予測モデルに対してアンサンブル学習を適用する場合,オンライン学習を適用する場合についても,最適な手法を選択する方法を提案した. 研究アプローチの適用範囲を広げ,欠陥予測モデルだけに限定せず,レビュー手法,コードクローン検出手法,コード生成ツールのそれぞれについてもオンラインで最適化し,より望ましい成果を得られることを明らかにした.レビュー手法の選択について概説する.ソフトウェアの信頼性を高める方法の一つは,設計書やソースコードに対してレビューを行い,ソフトウェアの欠陥を除去することである.レビューでの欠陥の見逃しを減少させるために,様々なレビュー方法が提案されており,それぞれ実施に要する時間と効果が異なる.そこでオンライン最適化のアプローチに基づき,複数のレビュー方法をレビュー中に評価し,最適な方法を動的に決定する方法を提案した. さらに,研究対象をオンライン学習にも拡大し,オンライン学習の従来の問題点を明らかにするとともに,その改善方法を提案した.また,オンライン最適化,オンライン学習の両方の予測精度改善が期待できる,ソフトウェア再テストの方法についても提案した.
|