Skip to main content
QUICK REVIEW

[論文レビュー] Assessing Test Case Prioritization on Real Faults and Mutants

Qi Luo, Kevin Moran|arXiv (Cornell University)|Jul 23, 2018
Software Testing and Debugging Techniques参考文献 61被引用数 3
ひとこと要約

本研究では、Defects4Jからの実際のバグと35,000以上のミューテーション・マットを用いて、テストケース優先順位付け(TCP)手法の評価を行い、ミューテーションベースの性能は、平均して約20%の誤差を伴い、実世界の効果を過大評価することが判明した。特に、自明なミューテーションと包含されるミューテーションが含まれている場合に顕著である。極めて重要な点として、ミューテーション上でのTCP手法の相対的順位は、実際のバグ上での順位を信頼性を持って予測できないことが判明し、TCP研究におけるミューテーションベース評価の妥当性に疑問を呈する。

ABSTRACT

Test Case Prioritization (TCP) is an important component of regression testing, allowing for earlier detection of faults or helping to reduce testing time and cost. While several TCP approaches exist in the research literature, a growing number of studies have evaluated them against synthetic software defects, called mutants. Hence, it is currently unclear to what extent TCP performance on mutants would be representative of the performance achieved on real faults. To answer this fundamental question, we conduct the first empirical study comparing the performance of TCP techniques applied to both real-world and mutation faults. The context of our study includes eight well-studied TCP approaches, 35k+ mutation faults, and 357 real-world faults from five Java systems in the Defects4J dataset. Our results indicate that the relative performance of the studied TCP techniques on mutants may not strongly correlate with performance on real faults, depending upon attributes of the subject programs. This suggests that, in certain contexts, the best performing technique on a set of mutants may not be the best technique in practice when applied to real faults. We also illustrate that these correlations vary for mutants generated by different operators depending on whether chosen operators reflect typical faults of a subject program. This highlights the importance, particularly for TCP, of developing mutation operators tailored for specific program domains.

研究の動機と目的

  • ミューテーション上でのTCP手法の性能が、実世界のソフトウェアバグにおける性能を信頼性を持って反映しているかどうかを調査すること。
  • TCPのミューテーションベース評価が、実際のテストシナリオをどれほど代表しているかを評価すること。
  • ミューテーションの種類、プログラムの特徴、ミューテーションオペレータなどの要因が、実バグに対するミューテーションの代表的妥当性に与える影響を同定すること。
  • APFDとAPFDcという異なるメトリクスが、ミューテーションと実バグ検出性能の相関に与える影響を評価すること。
  • TCP評価の現実性を向上させるために、分野特化型で故障モデル駆動のミューテーションオペレータの開発を提唱すること。

提案手法

  • 8つの代表的なTCP手法を実装し、Defects4Jデータセットに含まれる357件の実バグと、Pitを用いて生成された35,000件以上のミューテーションに適用した。
  • 標準的な2つのメトリクス(APFD(平均故障検出率)とAPFDc(コストを考慮したAPFD))を用いて性能を測定し、実バグとミューテーションの両方で結果を比較した。
  • 自明なミューテーション、包含されるミューテーション、および異なるミューテーションオペレータ(例:算術、論理、戻り値)によって生成されたミューテーションを分類し、性能相関に与える影響を分析した。
  • 5つのJavaシステムにわたる、ミューテーション上でのTCP手法順位と実バグ上での順位の相関を統計的に分析した。
  • ミューテーション結合性とオペレータタイプが、実バグに対するミューテーションの代表的妥当性に与える影響を評価した。
  • 分野特化型の故障モデリングとカスタマイズされたミューテーションオペレータを活用した、今後の研究のためのフレームワークを提言した。

実験結果

リサーチクエスチョン

  • RQ1TCP手法のミューテーション上での性能と、実世界のバグ上での性能との相関度合いはどの程度か?
  • RQ2異なるミューテーションオペレータは、TCP手法の評価におけるミューテーションの代表的妥当性にどのように影響するか?
  • RQ3メトリクスの選択(APFD 対 APFDc)は、ミューテーションと実バグ検出性能の相関に影響を与えるか?
  • RQ4プログラム固有の特徴は、ミューテーションベースのTCP評価の信頼性にどのように影響するか?
  • RQ5カスタマイズされたミューテーションオペレータは、実際のTCP評価の現実性を向上させることができるか?

主な発見

  • APFDを用いたミューテーションベースのTCP評価では、平均して実バグ検出性能を約20%過大評価する傾向がある。特に、自明なミューテーションと包含されるミューテーションが含まれている場合に顕著である。
  • 自明なミューテーションと包含されるミューテーションを除外した後は、ミューテーション上での性能が実バグ検出を平均して約3%わずかに下回るようになり、代表的妥当性が向上したことが示された。
  • ミューテーション上でのTCP手法の相対的順位は、実バグ上での順位と一貫した相関がないことが判明し、この相関の欠如は、被験プログラムによって顕著に変動した。
  • APFDではミューテーションと実バグ検出性能の相関が弱いが、APFDcでは中程度から強い相関が見られた。これは、APFDcがミューテーションベース評価においてより信頼性が高いことを示唆している。
  • 異なるミューテーションオペレータは、多様な代表的妥当性を示し、性能の相関は、プログラムとオペレータタイプの両方に依存していた。
  • 静的TCP手法は実バグ上での性能でわずかに動的TCP手法を上回ったが、有意差はなく、実際の運用ではどちらのアプローチが優位であるかは明確でないことが示された。

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

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

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

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