Skip to main content
QUICK REVIEW

[論文レビュー] Preserving Order of Data When Validating Defect Prediction Models

Davide Falessi, Likhita Narayana|arXiv (Cornell University)|Sep 5, 2018
Software Engineering Research参考文献 49被引用数 16
ひとこと要約

本研究では、時系列検証(ウォークフォワード)と非時系列手法(交差検証、ブートストラップ)を用いて欠陥予測モデルの精度を評価し、AUCに顕著な差が生じることを明らかにした。10-fold CVでは-0.20から0.22の差、ブートストラップでは-0.17から0.43の差が観察され、それぞれ45%および56%のケースで統計的差が認められた。結果から、ソフトウェア欠陥予測における現実的なモデル評価のため、データ分割における時系列順序の保持が極めて重要であることが示された。

ABSTRACT

[Context] The use of defect prediction models, such as classifiers, can support testing resource allocations by using data of the previous releases of the same project for predicting which software components are likely to be defective. A validation technique, hereinafter technique defines a specific way to split available data in training and test sets to measure a classifier accuracy. Time-series techniques have the unique ability to preserve the temporal order of data; i.e., preventing the testing set to have data antecedent to the training set. [Aim] The aim of this paper is twofold: first we check if there is a difference in the classifiers accuracy measured by time-series versus non-time-series techniques. Afterward, we check for a possible reason for this difference, i.e., if defect rates change across releases of a project. [Method] Our method consists of measuring the accuracy, i.e., AUC, of 10 classifiers on 13 open and two closed projects by using three validation techniques, namely cross validation, bootstrap, and walk-forward, where only the latter is a time-series technique. [Results] We find that the AUC of the same classifier used on the same project and measured by 10-fold varies compared to when measured by walk-forward in the range [-0.20, 0.22], and it is statistically different in 45% of the cases. Similarly, the AUC measured by bootstrap varies compared to when measured by walk-forward in the range [-0.17, 0.43], and it is statistically different in 56% of the cases. [Conclusions] We recommend choosing the technique to be used by carefully considering the conclusions to draw, the property of the available datasets, and the level of realism with the classifier usage scenario.

研究の動機と目的

  • 時系列検証手法が非時系列手法と比較して、欠陥予測モデルの精度に異なる結果をもたらすかどうかを評価すること。
  • ソフトウェアプロジェクトのリリースに伴う欠陥率の変化が、観察された精度の差に寄与しているかどうかを調査すること。
  • 欠陥予測モデルの現実性と目的に応じた検証手法の選択を、研究者および実務家にガイドすること。
  • 実世界のオープンソースおよびクローズドソースプロジェクトを用いて、データ順序の影響が分類器のパフォーマンスに与える影響を評価すること。

提案手法

  • 10種類の分類器を、13のオープンソースおよび2つのクローズドソースプロジェクトに適用し、3つの検証手法(10-fold交差検証、ブートストラップ、ウォークフォワード(時系列))を用いた。
  • 各分類器とプロジェクトの組み合わせについて、受信器操作特性曲線下の面積(AUC)をモデル精度の指標として測定した。
  • ウォークフォワード検証を用いて時系列順序を保持し、訓練データがテストデータよりも時系列的に前に入っていることを保証した。
  • 各手法間でのAUC結果を比較し、統計的に有意な差を特定した。
  • パフォーマンスの不一致の原因を探索するため、リリースごとの欠陥率を分析した。

実験結果

リサーチクエスチョン

  • RQ1検証手法の選択、特に時系列対非時系列の違いが、欠陥予測モデルの測定精度に影響を与えるか。
  • RQ2ウォークフォワード検証と10-fold交差検証またはブートストラップを用いた場合に、AUC値に統計的に有意な差が生じるか。
  • RQ3ソフトウェアプロジェクトのリリースに伴う欠陥率の変化が、検証手法ごとのモデル精度の差を説明できるか。
  • RQ4パフォーマンスの差は、異なる分類器やプロジェクトによってどのように変動するか。

主な発見

  • 同じ分類器について、10-fold交差検証で得られたAUCはウォークフォワード検証と比較して-0.20から0.22の範囲で変動し、45%のケースで統計的差が認められた。
  • ブートストラップで得られたAUCはウォークフォワード検証と比較して-0.17から0.43の範囲で変動し、56%のケースで統計的差が認められた。
  • 欠陥率がリリースごとに変動することが判明し、欠陥データの時系列的ダイナミクスが、検証手法間でのパフォーマンス差に寄与している可能性が示された。
  • 本研究では、非時系列手法が将来のリリースからのデータ漏洩を引き起こすため、誤った精度推定を生じることが確認された。
  • ウォークフォワード検証は、訓練データとテストデータの時系列順序を保持することで、一貫して現実的なパフォーマンス推定を実現した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。