[論文レビュー] Simplification of Training Data for Cross-Project Defect Prediction
本稿では、クロスプロジェクト欠陥予測(CPDP)のためのマルチスケールトレーニングデータ簡素化手法を提案する。リリースレベルおよびインスタンスレベルのフィルタリングを組み合わせることで、予測性能を向上させる。10のオープンソースプロジェクトから得た34のリリースを用いて、簡素化最適化済みデータでトレーニングされたナイーブベイズ分類器が、F-スコアおよびG-スコアで優れた性能を示すことを実証した。トレーニングデータサイズは50%削減され、DPRベースのフィルタリング閾値により欠陥検出性能が向上した。
Cross-project defect prediction (CPDP) plays an important role in estimating the most likely defect-prone software components, especially for new or inactive projects. To the best of our knowledge, few prior studies provide explicit guidelines on how to select suitable training data of quality from a large number of public software repositories. In this paper, we have proposed a training data simplification method for practical CPDP in consideration of multiple levels of granularity and filtering strategies for data sets. In addition, we have also provided quantitative evidence on the selection of a suitable filter in terms of defect-proneness ratio. Based on an empirical study on 34 releases of 10 open-source projects, we have elaborately compared the prediction performance of different defect predictors built with five well-known classifiers using training data simplified at different levels of granularity and with two popular filters. The results indicate that when using the multi-granularity simplification method with an appropriate filter, the prediction models based on Naive Bayes can achieve fairly good performance and outperform the benchmark method.
研究の動機と目的
- 大規模な公開ソフトウェアリポジトリから、特に局所データが限られている新規または活動停止中のプロジェクト向けに、高品質なトレーニングデータを選択する課題に対処する。
- 従来のCPDP手法が単一スケールの粒度(例:リリースレベルまたはインスタンスレベル)に依存しており、体系的な比較が行われていないという限界を克服する。
- 複数の粒度、フィルタリング手法、分類器の組み合わせを評価することで、CPDPにおける最適なフィルタリング戦略および分類器の選定に実用的でデータ駆動のガイドラインを提供する。
- 欠陥感受性比(DPR)に基づく2段階の簡素化戦略により、冗長で関係のないインスタンスをフィルタリングすることで、予測性能を向上させるとともにトレーニングデータ量を削減する。
提案手法
- リリースレベルおよびインスタンスレベルの両方でフィルタリングを適用することで、欠陥感受性の高いコンponentを保持したままトレーニングデータ量を削減するマルチスケール簡素化フレームワークを提案する。
- 2つのフィルタリング戦略を実装する:(1) リリースレベルでの欠陥感受性比(DPR)によるフィルタリング、(2) KNNベースの近隣分析を用いたインスタンスレベルでの欠陥発生確率によるフィルタリング。
- 最適なフィルタリング閾値を決定するためにDPRインデックス(欠陥感受性比)を用いる。インスタンスレベルのフィルタリングにおいて、閾値0.3が有効であることが判明した。
- 2段階の簡素化プロセスを適用する:まずDPRに基づいてリリースをフィルタリングし、次に選択されたリリース内の個々のインスタンスをKNNベースの近隣選択によりフィルタリングする。
- 分類器の性能向上を図るため、特徴量に対し対数変換を適用して分散を安定化させる。
- 簡素化されたトレーニングデータ上で5つの分類器(ナイーブベイズ、KNN、SVM、C4.5、ロジスティック回帰)を評価し、CPDPに最も効果的なモデルを同定する。
実験結果
リサーチクエスチョン
- RQ1RQ1: 提案されたマルチスケールトレーニングデータ簡素化手法は、単一スケール粒度に基づくベンチマーク手法を上回るか?
- RQ2RQ2: 提案手法で簡素化されたトレーニングデータを用いた場合、どの分類器が最も優れた性能を示すか?
- RQ3RQ3: DPRインデックスは、CPDPにおけるインスタンスレベルの簡素化のための効果的なフィルタリング戦略の選定を支援するために使用可能か?
主な発見
- マルチスケール簡素化手法は、ベンチマーク手法と比較して競争力のあるF-スコアおよびG-スコアを達成しており、性能に有意差は認められなかった。
- KNNベースのフィルタリング手順における近隣数を増加させることで、トレーニングデータサイズが約50%削減された。
- ナイーブベイズ分類器は、簡素化されたトレーニングデータ上で他のモデルを上回り、全評価分類器の中で最高のF-スコアおよびG-スコアを達成した。
- DPRインデックスは、最適なフィルタリング閾値の特定に有効であった。インスタンスレベルのフィルタリングにおいて、DPR閾値0.3が予測性能を顕著に向上させた。
- DPRおよびKNNベースの近隣分析に基づく提案フィルタリング戦略は、実際に欠陥を含むインスタンスをより多く保持しながら、誤検出(偽陽性)を削減した。
- 本研究は、データ品質が単にデータ量よりもCPDPにおいて重要であることを確認しており、マルチスケールフィルタリングに基づく簡素化がモデルの性能と効率性を向上させることを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。