Skip to main content
QUICK REVIEW

[論文レビュー] Locating Crashing Faults based on Crash Stack Traces

Liang Gong, Hongyu Zhang|arXiv (Cornell University)|Apr 15, 2014
Software Testing and Debugging Techniques参考文献 22被引用数 11
ひとこと要約

本論文では、クラッシュスタックトレースを用いて失敗実行と成功実行の両方のトレースから実行スペクトルを生成し、Ochiaiなどの手法を適用して不審な関数をランク付けする統計的バグ局所化フレームワークを提案する。実際のFirefoxクラッシュレポートを対象に評価した結果、スペクトル内の関数のわずか5%を分析するだけで、クラッシュバグの63.9%を特定でき、デバッグ作業の負担を顕著に低減した。

ABSTRACT

Software crashes due to its increasing complexity. Once a crash happens, a crash report could be sent to software developers for investigation upon user permission. Because of the large number of crash reports and limited information, debugging for crashes is often a tedious and labor-intensive task. In this paper, we propose a statistical fault localization framework to help developers locate functions that contain crashing faults. We generate the execution traces for the failing traces based on the crash stack, and the passing traces from normal executions. We form program spectra by combining generated passing and failing trace, and then apply statistical fault localization techniques such as Ochiai to locate the crashing faults. We also propose two heuristics to improve the fault localization performance. We evaluate our approach using the real-world Firefox crash report data. The results show that the performance of our method is promising. Our approach permits developers to locate 63.9% crashing faults by examining only 5% Firefox 3.6 functions in the spectra.

研究の動機と目的

  • ソフトウェアクラッシュのデバッグ作業を自動化することで、人的な負担を軽減すること。
  • 診断情報が限られている大量のクラッシュレポートを効果的に分析する課題に対処すること。
  • クラッシュスタックトレースと実行スペクトルを活用することで、バグ局所化の精度を向上させること。
  • 実世界のクラッシュデータに対して統計的バグ局所化手法の有効性を評価すること。
  • 実際の現場でバグ局所化のパフォーマンスを向上させるためのヒューリスティクスを提案すること。

提案手法

  • 失敗実行のための実行トレースを、クラッシュスタックトレースから生成する。
  • 正常実行トレースを収集し、比較用の成功トレースを構築する。
  • 成功トレースと失敗トレースを統合してプログラムスペクトルを構築する。
  • Ochiaiなどの統計的バグ局所化手法を適用し、関数の不審度をランク付けする。
  • バグ局所化の結果を精緻化し、ランク付けの正確性を向上させるための2つのヒューリスティクスを導入する。
  • 実際のFirefox 3.6のクラッシュレポートを用いて、実際のクラッシュデータ上でフレームワークを評価する。

実験結果

リサーチクエスチョン

  • RQ1クラッシュスタックトレースは、バグ局所化に適した実行スペクトルを効果的に生成できるか?
  • RQ2スタックトレースから導出されたスペクトルを用いた統計的バグ局所化手法は、クラッシュバグをどの程度正確に特定できるか?
  • RQ3提案された2つのヒューリスティクスは、バグ局所化の精度をどの程度向上させるか?
  • RQ4スペクトル内のわずかな関数の部分集合を分析するだけで、何パーセントのクラッシュバグを特定できるか?
  • RQ5Firefoxの実世界クラッシュデータに対して、この手法はどの程度の性能を示すか?

主な発見

  • 提案手法は、スペクトル内の関数のわずか5%を分析するだけで、クラッシュバグの63.9%を特定した。
  • このフレームワークにより、クラッシュデバッグのための関数の検査対象数が顕著に削減された。
  • Ochiaiのような統計的バグ局所化手法は、スタックトレースから導出された実行スペクトルに適用することで有効であることが示された。
  • 提案された2つのヒューリスティクスはバグ局所化のパフォーマンスを向上させたが、要約では具体的な指標は提示されていない。
  • この手法は、複雑なソフトウェアシステムにおける実世界のクラッシュデバッグにおいて、強い実用的ポentialを示している。
  • 実際のFirefoxクラッシュレポートを用いた評価により、デバッグ作業の負担低減の可能性が裏付けられた。

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

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

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

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