[論文レビュー] Issues with SZZ: An empirical assessment of the state of practice of defect prediction data collection.
この論文は、欠陥予測研究における欠陥誘発コミットをラベル付ける標準的手法であるSZZアルゴリズムを実証的に評価し、顕著な不正確さが存在することを明らかにした。SZZが特定したバグ修正コミットのうちわずか50%しか実際にバグを修正しておらず、リリースレベルでの欠陥ラベル付けにおける誤検出は真陽性とほぼ同程度に頻発している。本研究は手動による検証と強化されたヒューリスティクスを用いて欠陥ラベル付けを改善し、広く使われている欠陥予測データセットに深刻な欠陥が存在することを明らかにした。
Defect prediction research has a strong reliance on published data sets that are shared between researchers. The SZZ algorithm is the de facto standard for collecting defect labels for this kind of data and is used by most public data sets. Thus, problems with the SZZ algorithm may have a strong indirect impact on almost the complete state of the art of defect prediction. Recent research uncovered potential problems in different parts of the SZZ algorithm. Within this article, we provide an extensive empirical analysis of the defect labels created with the SZZ algorithm. We used a combination of manual validation and adopted or improved heuristics for the collection of defect data to establish ground truth data for bug fixing commits, improved the heuristic for the identification of inducing changes for defects, as well as the assignment of bugs to releases. We conducted an empirical study on 398 releases of 38 Apache projects and found that only half of the bug fixing commits determined by SZZ are actually bug fixing. Moreover, if a six month time frame is used in combination with SZZ to determine which bugs affect a release, one file is incorrectly labeled as defective for every file that is correctly labeled as defective. In addition, two defective files are missed. We also explored the impact of the relatively small set of features that are available in most defect prediction data sets, as there are multiple publications that indicate that, e.g., churn related features are important for defect prediction. We found that the difference of using more features is negligible.
研究の動機と目的
- 欠陥予測研究における標準的手法であるSZZアルゴリズムが生成する欠陥ラベルの正確性を評価すること。
- SZZの欠陥誘発コミットのラベリングおよびリリースへのバグ割り当てに関する手法に存在する欠陥を特定・是正すること。
- 既存の欠陥予測データセットにおける特徴量の制限、特に変更量関連特徴量の影響を評価すること。
- 手動による検証と改善されたヒューリスティクスを用いて、欠陥予測データのより信頼性の高い真値を確立すること。
提案手法
- 38のApacheプロジェクトの398リリースを対象に、SZZの欠陥ラベル付けの正確性を実証的に評価した。
- バグ修正コミットの真値を確立するために手動による検証を実施し、SZZによる誤ラベル付けを是正した。
- 時間的基準および変更量的基準を用いて、誘発要因となる変更を特定し、バグをリリースに割り当てるためのヒューリスティクスを改善した。
- 6か月間の時間窓を適用し、特定のリリースに影響を与える欠陥を評価し、SZZの出力結果と真値を比較した。
- 特徴量セットのサイズが予測性能に与える影響を評価し、特に変更量関連特徴量に注目した。
- SZZラベル付けデータにおける誤検出率および誤未検出率を定量的に測定し、信頼性を評価した。
実験結果
リサーチクエスチョン
- RQ1実際の運用において、SZZが特定したバグ修正コミットの正確性はどの程度で、実際に欠陥を修正している割合はどの程度か?
- RQ2あるリリースにおいてファイルを欠陥ありとラベル付けする際、SZZを用いた場合の誤検出率と誤未検出率はどの程度か?
- RQ3リリースへのバグ割り当てに用いる異なるヒューリスティクスは、ラベル付けの正確性にどのように影響するか?
- RQ4既存の欠陥予測データセットにおける特徴量の制限は、予測性能にどの程度の影響を及えるか?
- RQ5他の特徴量と比較して、変更量関連特徴量が欠陥予測に与える影響はどの程度顕著か?
主な発見
- SZZがバグ修正コミットとラベル付けしたコミットのうち、実際に欠陥を修正しているのはわずか50%にとどまり、誤検出率が非常に高いことが示された。
- 6か月の時間窓を用いてリリース内の欠陥ファイルを特定した場合、正しくラベル付けされたファイル1件に対して誤って欠陥ありとラベル付けされたファイル1件が存在した。
- 評価においてSZZが完全に見逃した欠陥ファイルが2件存在し、非軽微な誤未検出率が確認された。
- 特徴量の数が多いデータセットと少ないデータセットとの間で予測性能の差はほとんどなく、特徴量セットの拡大に大きな利点がないことが示唆された。
- 本研究は、SZZの欠陥ラベル付けプロセスが根本的に欠陥を含んでおり、大多数の既存の欠陥予測データセットの信頼性が損なわれていることを確認した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。