Skip to main content
QUICK REVIEW

[論文レビュー] Slicing Event Traces of Large Software Systems

Raymond Smith, Bogdan Korel|ArXiv.org|Jan 11, 2001
Software Testing and Debugging Techniques参考文献 14被引用数 15
ひとこと要約

本論文では、大規模なソフトウェアシステムにおける膨大なイベントトレースを短縮し、バックトレースデバッグを効率化するスライシング技法を提案する。イベント同士の依存関係、特に因果関係を自動で同定することにより、誤った動作に影響を与えるイベントのみを特定し、全ログの手動検査を伴わずに、分析に適したサイズに大幅に縮小できる。

ABSTRACT

Debugging of large software systems consisting of many processes accessing shared resources is a very difficult task. Many commercial systems record essential events during system execution for post-mortem analysis. However, the event traces of large and long-running systems can be quite voluminous. Analysis of such event traces to identify sources of incorrect behavior can be very tedious, error-prone, and inefficient. In this paper, we propose a novel technique of slicing event traces as a means of reducing the number of events for analysis. This technique identifies events that may have influenced observed incorrect system behavior. In order to recognize influencing events several types of dependencies between events are identified. These dependencies are determined automatically from an event trace. In order to improve the precision of slicing we propose to use additional dependencies, referred to as cause-effect dependencies, which can further reduce the size of sliced event traces. Our initial experience has shown that this slicing technique can significantly reduce the size of event traces for analysis.

研究の動機と目的

  • 大規模で長時間実行されるソフトウェアシステムにおける膨大なイベントトレースのデバッグ課題に対処すること。
  • バックトレースでの手動解析が必要なイベントトレースの体積を低減すること。
  • 観察された誤った動作に影響を与えたイベントのみを特定することで、デバッグの効率を向上させること。
  • 基本的な実行順序に加え、因果関係を含む依存関係を組み込むことで、トレース短縮の正確性を向上させること。
  • 産業規模のシステムにおけるイベントトレース解析に適したスケーラブルで自動化された技法を提供すること。

提案手法

  • 本手法は、実行中に記録されたシステムイベント(プロセスのアクションや共有リソースへのアクセスなど)のトレースを構築する。
  • 実行順序と共有リソースの使用に基づき、データ依存関係および制御依存関係を特定する。
  • 因果関係を表す依存関係を導入し、システム動作に直接影響を与えるイベント間の因果的関係をモデル化する。
  • スライシング処理は、観察された誤動作から遡って影響を及ぼすイベントにまで影響を伝播させる。
  • 観察された障害に影響を与えないすべてのイベントを削除し、最小限で関連性のあるトレースサブセットを生成する。
  • 本手法は自動化されており、ソースコードやログ記録以外のインストルメンテーションを必要とせず、イベントトレースのみで動作する。

実験結果

リサーチクエスチョン

  • RQ1大規模で分散型のソフトウェアシステムにおけるイベントトレースを、デバッグに適したサイズに短縮する方法は何か?
  • RQ2イベント間のどの種類の依存関係が、誤った動作の根本原因を特定するのに最も効果的か?
  • RQ3基本的な実行順序依存関係に加え、因果関係を含めることでトレーススライシングの正確性は向上するか?
  • RQ4自動スライシングによって、関連する障害を示すイベントを失うことなく、イベントトレースのサイズをどの程度短縮できるか?
  • RQ5本手法は実世界の産業規模のソフトウェアシステムにおいて、どの程度効果的か?

主な発見

  • スライシング技法により、イベントトレースのサイズが顕著に縮小され、バックトレース分析が著しく効率化された。
  • 因果関係を含む依存関係の導入により、スライシングプロセスの正確性が向上し、出力に不要なイベントが削減された。
  • 本手法は、観察された誤った動作に影響を与えたイベントのみを的確に特定し、手動での検査を最小限に抑えた。
  • 初期の経験から、本手法は複雑なイベントログを有する大規模で長時間実行されるシステムに対しても実用的かつスケーラブルであることが示された。
  • 分析を最小限で関連性のあるイベントサブセットに集中させることで、障害原因の特定が迅速化された。
  • 本手法は、ソースコードや事前のシステムモデルを必要とせず、実行時のイベントトレースのみに依存して効果的に動作した。

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

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

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

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