Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Study of Fault Localization Families and Their Combinations

Daming Zou, Jingjing Liang|arXiv (Cornell University)|Mar 27, 2018
Software Testing and Debugging Techniques参考文献 72被引用数 15
ひとこと要約

本論文では、Defects4Jの357件の実世界のバグに対して7つのファミリーにまたがる11の故障局所化手法についての実験的調査を提示する。学習してランクを決定するアプローチを用いて手法を統合する、提案されたCombineFLフレームワークは、最良の単一手法と比較してトップ1の故障局所化で200%の改善を達成した。これは、多様な情報源を統合することで有効性が著しく向上することを示しており、実行時間のトレードオフを考慮した上で有効であることを示している。

ABSTRACT

The performance of fault localization techniques is critical to their adoption in practice. This paper reports on an empirical study of a wide range of fault localization techniques on real-world faults. Different from previous studies, this paper (1) considers a wide range of techniques from different families, (2) combines different techniques, and (3) considers the execution time of different techniques. Our results reveal that a combined technique significantly outperforms any individual technique (200% increase in faults localized in Top 1), suggesting that combination may be a desirable way to apply fault localization techniques and that future techniques should also be evaluated in the combined setting. Our implementation is publicly available for evaluating and combining fault localization techniques.

研究の動機と目的

  • 実世界のソフトウェアバグにおける多様な故障局所化手法の有効性と効率性を評価すること。
  • 異なるファミリーに属する故障局所化手法の相関関係を調査し、それらの統合の可能性を評価すること。
  • 性能と実行コストのトレードオフを考慮した、設定可能な時間認識型統合フレームワーク(CombineFL)の設計と評価。
  • 将来的な研究における故障局所化手法の評価と統合を可能にするオープンインfra(CombineFL-core)の提供。
  • 故障局所化ファミリーごとの実行時間を測定・分類し、実用的導入のための指針を提示すること。

提案手法

  • 本研究では、7つのファミリーに属する11の故障局所化手法(スペクトラムベース(SBFL)、ミューテーションベース(MBFL)、動的プログラムスライシング、スタックトレース解析、述語スイッチング、情報検索ベース(IRベース)、履歴ベース)を評価する。
  • 各手法の不審度スコアをブラックボックスとして扱い、線形結合によるスコアの統合に学習してランクを決定するモデルを用いる。
  • 各手法の実行時間を測定し、コストレベルに分類することで、時間制約付きの統合を可能にする。
  • 評価には、ステートメントレベルおよびメソッドレベルの粒度を備えたDefects4Jデータセットを用いる。
  • 複数の不正な要素が存在する場合の同順位ランキングを処理するため、新たな指標$E_{\mathit{inspect}}$を導入する。
  • CombineFL-coreインfraは、組み合わせの自動評価を可能にし、スコアと実行時間の標準化された入力を通じて新規手法の統合を支援する。

実験結果

リサーチクエスチョン

  • RQ1異なるファミリーに属する個々の故障局所化手法は、実世界のバグに対してどれほど有効であるか?
  • RQ2異なるファミリーに属する故障局所化手法同士の相関関係はどの程度で、それらを統合する潜在的価値は何か?
  • RQ3異なる情報源に由来する手法を統合することで、単体での手法と比較して故障局所化の有効性を著しく向上させられるか?
  • RQ4故障局所化ファミリーごとの実行時間はどのように変動し、実行コストを統合戦略の指針にどう活用できるか?
  • RQ5統合手法であるCombineFLは、トップ1の故障局所化精度において、最先端の手法を上回っているか?

主な発見

  • BugspotsとBugLocatorを除くすべての手法が、トップ10に6%以上のバグを局所化した。その中でSBFLはトップ10に44%を達成した。
  • ほとんどの手法が弱い相関を示し、特に異なるファミリー間では相関が弱く、補完的な統合の可能性が強いことが示された。
  • CombineFLは、最良の単体手法と比較して、トップ1に局所化されたバグ数を200%増加させ、トップ3、5、10ではそれぞれ63%、51%、31%の改善を達成した。
  • CombineFLは、MULTRIC、Savant、FLUCCS、TraPTという4つの最先端手法を、トップ1の局所化でそれぞれ133%、167%、11%、18%上回った。
  • 実行時間はファミリーごとに顕著に異なるため、コストレベルに分類可能であり、低コスト手法をすべて含めても実行時間が延びない一方で、有効性が向上した。
  • 手法の統合による利点は、ステートメント粒度およびメソッド粒度の両方で成立しており、本手法の堅牢性を裏付けた。

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

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

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

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