Skip to main content
QUICK REVIEW

[論文レビュー] Empirical Evaluation of Mutation-based Test Prioritization Techniques

Donghwan Shin, Shin Yoo|arXiv (Cornell University)|Sep 14, 2017
Software Testing and Debugging Techniques参考文献 27被引用数 4
ひとこと要約

本稿では、オリジナルプログラムからの区別だけでなく、それぞれのミューテント同士の区別能力に基づいてテストケースを優先順位付けする多様性に配慮した突然変異ベースのテストケース優先順位付け手法を提案する。352件の実際のバグと553,477件のテストケースを用いた実験的評価により、突然変異の殺害と区別の両基準をハイブリッドなグリーディアプローチで組み合わせることで、単一目的の手法を上回る性能が得られることを示したが、すべてのバグで同様に優れた性能を発揮する手法は存在しない。

ABSTRACT

We propose a new test case prioritization technique that combines both mutation-based and diversity-based approaches. Our diversity-aware mutation-based technique relies on the notion of mutant distinguishment, which aims to distinguish one mutant's behavior from another, rather than from the original program. We empirically investigate the relative cost and effectiveness of the mutation-based prioritization techniques (i.e., using both the traditional mutant kill and the proposed mutant distinguishment) with 352 real faults and 553,477 developer-written test cases. The empirical evaluation considers both the traditional and the diversity-aware mutation criteria in various settings: single-objective greedy, hybrid, and multi-objective optimization. The results show that there is no single dominant technique across all the studied faults. To this end, ev{we we show when and the reason why each one of the mutation-based prioritization criteria performs poorly, using a graphical model called Mutant Distinguishment Graph (MDG) that demonstrates the distribution of the fault detecting test cases with respect to mutant kills and distinguishment.

研究の動機と目的

  • 突然変異の殺害という伝統的な基準に加え、新たな多様性に配慮した突然変異の区別基準を用いた突然変異ベースのテストケース優先順位付けの有効性とコストを調査すること。
  • 両基準において、単一目的のグリーディ、ハイブリッド、多目的の優先順位付け戦略の性能を評価すること。
  • 新規の視覚的分析モデルを用いて、各優先順位付け基準がなぜ性能を発揮しないのかを特定し、その理由を解明すること。
  • 突然変異ベースと多様性ベースの基準を組み合わせることで、レグレッションテストにおける早期バグ検出を向上させるための知見を提供すること。

提案手法

  • オリジナルプログラムからの区別だけでなく、すべての他の突然変異との区別能力に基づいて、各突然変異の挙動を区別するという焦点を当てた、新たな突然変異ベースの優先順位付け基準を提案する。
  • 突然変異の殺害と突然変異の区別に関する関係を、バグ検出という観点から分析できる視覚的モデル「突然変異区別グラフ(MDG)」を導入する。
  • 3つの優先順位付け戦略を採用する:グリーディ(単一目的)、ハイブリッド(殺害と区別を組み合わせる)、多目的(両者を同時に最適化する)。
  • 352件の実際のバグと553,477件の開発者作成テストケースを含むDefects4Jベンチマークを用いて、有効性と実行コストを評価する。
  • 有効性はバグ検出率と故障検出までの時間を、コストは優先順位付けの実行時間を用いて測定する。
  • NSGA-IIとTAEAアルゴリズムを用いて多目的最適化を実施し、突然変異の殺害と区別の間でのトレードオフを調査する。

実験結果

リサーチクエスチョン

  • RQ1提案された多様性に配慮した突然変異ベースの優先順位付けは、従来の突然変異殺害ベースの優先順位付けに比べてどの程度有効であるか?
  • RQ2グリーディ、ハイブリッド、多目的の各優先順位付け戦略の中で、実世界のバグに対して最も優れたバグ検出性能を発揮するのはどれか?
  • RQ3突然変異殺害ベースの優先順位付けが失敗する条件は何か、その理由は何か?
  • RQ4突然変異の殺害と区別の両方を組み合わせることで、テストケースの順序付けの有効性にどのような影響を与えるか?
  • RQ5多目的優先順位付けは、グリーディおよびハイブリッド手法に比べて、計算コストはどの程度か?

主な発見

  • 突然変異の殺害と区別基準を組み合わせたハイブリッドグリーディアプローチが、最も優れたバグ検出性能を発揮し、単一目的の両手法を上回った。
  • 352件のバグすべてにおいて、ある特定の優先順位付け手法が一貫して優れているわけではない。性能はバグの特性に大きく依存する。
  • 多目的優先順位付けは1テストスイートあたり約37分を要するが、グリーディおよびハイブリッド手法は8秒未満であるため、コスト対効果のトレードオフが顕著である。
  • 単体では突然変異区別基準は殺害のみの基準を上回らないが、両者の組み合わせによりバグ検出の有効性が顕著に向上した。
  • MDG視覚モデルの分析から、単に突然変異を早期に殺すだけでは、早期バグ検出が保証されないことが明らかになった。一部のバグ検出テストケースは、突然変異を区別できていないことが判明した。
  • 突然変異ベースの優先順位付けは、カバレッジベースやランダム優先順位付けに比べ、少なくとも88.9%および77.8%のバグで優れた性能を示した。

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

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

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

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