Skip to main content
QUICK REVIEW

[論文レビュー] Assessing and Comparing Mutation-based Fault Localization Techniques

Thierry Titcheu Chekam, Mike Papadakis|arXiv (Cornell University)|Jul 19, 2016
Software Testing and Debugging Techniques参考文献 30被引用数 12
ひとこと要約

この論文は、産業規模のプログラムにおける実際のバグに対して、メタボリックなバグローカライゼーション手法 Metallaxis と MUSE を評価・比較している。CoREBench を用いて、Metallaxis は MUSE より優れていることが示された。バグを特定するには Metallaxis は全ステートメントの 18% で十分であるのに対し、MUSE は 37% 必要である。Metallaxis は、上位 10 および 25 ステートメントを検査した際に、それぞれ 50% および 80% のバグローカライゼーション精度を達成した。

ABSTRACT

Recent research demonstrated that mutation-based fault localization techniques are relatively accurate and practical. However, these methods have never been compared and have only been assessed with simple hand-seeded faults. Therefore, their actual practicality is questionable when it comes to real-wold faults. To deal with this limitation we asses and compare the two main mutation-based fault localization methods, named Metallaxis and MUSE, on a set of real-world programs and faults. Our results based on three typical evaluation metrics indicate that mutation-based fault localization methods are relatively accurate and provide relevant information to developers. Overall, our result indicate that Metallaxis and MUSE require 18% and 37% of the program statements to find the sought faults. Additionally, both methods locate 50% and 80% of the studied faults when developers inspect 10 and 25 statements.

研究の動機と目的

  • 実験的バグではなく、実際のバグに対してメタボリックなバグローカライゼーション手法の実用的効果を評価すること。
  • 代表的なメタボリックなバグローカライゼーション手法としての Metallaxis と MUSE の、正確性と効率性の観点から比較すること。
  • これらの手法が、デバッグ中に開発者の関心を維持できるような関連性の高い順位付けを生成するかどうかを評価すること。
  • 実世界の環境において、メタボリック手法がスペクトラムベースの手法を上回る可能性について、実証的証拠を提供すること。

提案手法

  • 産業用プログラムにおける実際のバグを含むベンチマークである CoREBench を用いて、バグローカライゼーション手法の評価を行う。
  • Metallaxis を適用し、実際に故障している箇所と関連する失敗テストケースによって殺されたミューテントに基づいてステートメントを順位付けする。
  • MUSE を適用し、失敗テストケースを成功に変えるミューテントに基づいてステートメントを順位付けする。これは自動修復のアイデアに由来する。
  • 3つの標準的な評価指標を用いる:上位-k ステートメントにおけるバグローカライゼーション正確度、上位10個ステートメントの平均関連性、ステートメント検査コスト。
  • ステートメントの10%、25%、100%を検査した際のバグローカライゼーション率について定量的分析を行い、順位付けの関連性について定性的分析も行う。
  • 統計的評価と上位順位ステートメントの関連性分析を用いて、両手法の結果を比較する。

実験結果

リサーチクエスチョン

  • RQ1Metallaxis と MUSE は、スペクトラムベースの手法と比較して、実際のバグのローカライゼーションにおいてどの程度効果的か?
  • RQ2バグローカライゼーションの正確性と効率性の観点から、Metallaxis と MUSE のどちらが優れているか?
  • RQ3各手法の順位付けで上位に来るステートメントに、実際に故障しているステートメントがどの程度含まれているか?
  • RQ4高いバグローカライゼーション率を達成するための、Metallaxis と MUSE の検査コスト(レビューするステートメント数)はどのように比較されるか?
  • RQ5これらの手法が生成する順位付けは、デバッグ中に開発者の関心を維持するのに十分な関連性を有しているか?

主な発見

  • 開発者が上位10個のステートメントを検査するだけで、Metallaxis は研究対象のバグの50%をローカライズできる。上位25個に拡大すると、80%にまで上昇する。
  • MUSE は同じバグを特定するためにはプログラム全体の37%のステートメントを検査する必要があり、Metallaxis よりも顕著に高い検査コストを要する。
  • すべての研究対象バグをローカライズするには、Metallaxis は18%のステートメント検査コストで十分であるのに対し、MUSE は37%である。これは Metallaxis がより効率的であることを示している。
  • 上位10個ステートメントの平均関連性は、Metallaxis で28.16%、MUSE で25.88%であり、80%のバグで少なくとも1つの関連ステートメントが上位10位内にあることを意味する。
  • Metallaxis は MUSE よりも2倍の正確性を達成し、顕著に優れたバグローカライゼーション精度と低い検査コストを示している。
  • 両手法とも、実際に故障しているステートメントと高い関連性を持つ順位付けを生成しており、実世界のデバッグシナリオにおける実用的価値を裏付けている。

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

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

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

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