Skip to main content
QUICK REVIEW

[論文レビュー] Apache Web Server Execution Tracing Using Third Eye

Raimondas Lencevicius, Alexander Ran|arXiv (Cornell University)|Jan 1, 2000
Engineering and Information Technology参考文献 5被引用数 1
ひとこと要約

本論文では、ドメイン固有のイベントと形式的制約を用いてソフトウェアシステムのトレースと検証を行うための柔軟なフレームワーク、Third Eye を提示する。Apache Web Server のアクセスポリシーをトレーサブルなイベントとしてモデル化し、アーキテクチャ制約を強制することで、実行時の違反を検出する。これは、複雑でコンポーネントベースのシステムにおけるソフトウェア開発パイプラインへの実用的で効果的な追加手段であることを示している。

ABSTRACT

Testing of modern software systems that integrate many components developed by different teams is a difficult task. Third Eye is a framework for tracing and validating software systems using application domain events. We use formal descriptions of the constraints between events to identify violations in execution traces. Third Eye is a flexible and modular framework that can be used in different products. We present the validation of the Apache Web Server access policy implementation. The results indicate that our tool is a helpful addition to software development infrastructure. Nowadays, many software-intensive systems such as personal communication devices or communication network elements integrate many dozens of software components that are designed to run on different types of hardware, to interoperate with different environments and to be configurable for different modes of operation and styles of use. The situation is further complicated by a fact that these components are often developed by geographically distributed teams, using different programming languages, development tools and even different design and development methodologies. All this makes complete testing of these systems in a lab very hard. In the Third Eye project [4], we focused on abstract representation of software - its architecture. We have defined a methodology for tracing execution of software by reporting events meaningful in the application domain or essential from the implementation point of view. Many ideas incorporated in the Third Eye framework were inspired by the Logic Assurance system [5] and work on enforcing architectural constraints [2]. In Third Eye, we have used different technologies to make the framework more extensible, to allow its integration with other trace analysis tools and specification languages. The implemented portable prototype of the Third Eye framework includes reusable software components for event definition and reporting and stand-alone tools for storage and query of event traces, constraint specification and trace analysis. 2 THIRD EYE ARCHITECTURE A central decision of Third Eye framework is what information from the execution state of the program is traced. We decided to trace occurrences of events (Figure 1). Events cross the boundary between the application and implementation domains allowing abstract specifications that use event properties and a simple representation in the implementation domain. Such representation helps to produce traces without introducing new errors. “Event” in this case is a qualitative change in the state of an entity either meaningful in the application domain or significant architecturally. In Third Eye framework, events are typed objects. Event type has a name, a list of named and typed properties, and the type constructor. Third Eye event types are similar to classes in programming languages although the only method associated with the event type is its constructor. We allow event type inheritance. To report an event, developers specify the type of the event and set values of the event properties. Developers need to set only the properties that were not set already by the event constructor. Events in Third Eye are characterized by the time and location of their occurrence. Correct behavior specifications define constraints on the properties of the events, their sequence, location, and timing. We use formal descriptions of the constraints between events to identify violations in execution traces.

研究の動機と目的

  • 地理的に分散したチームと多様な技術を用いた複雑でコンポーネントベースのソフトウェアシステムのテストの課題に対処すること。
  • アプリケーションドメインのイベントを低レベルの実装詳細ではなく使用することで、トレースに基づく検証を可能にすることにより、テストのオーバーヘッドを低減すること。
  • 実行時におけるシステム動作の形式化されたアーキテクチャ制約に対する検証のためのモジュラーで拡張可能なフレームワークを提供すること。
  • 具体的には Apache Web Server のアクセスポリシー実装を対象として、フレームワークの有効性を実世界のシステムで評価すること。
  • イベントベースのトレースと形式的制約のチェックが、開発ライフサイクルの初期段階で動作違反を検出可能であることを示すこと。

提案手法

  • タイプ付きのイベントを用いて、名前付きで型付けされたプロパティと継承を活用して、アプリケーションドメインの状態変化を表現する。
  • 実行時におけるイベントの報告により実行トレースをキャプチャし、トレース解析用に時刻と場所のメタデータを含める。
  • イベントのシーケンス、タイミング、プロパティ、場所に関する形式的制約を定義し、正しいシステム動作を指定する。
  • 後続の解析のため、イベントトレースを永続的なリポジトリに保存する。
  • 制約仕様言語とトレース解析ツールを統合し、アーキテクチャルールへの準拠を検証する。
  • フレームワークを用いて Apache Web Server の実行トレースを分析し、アクセスポリシー制約の違反をチェックする。

実験結果

リサーチクエスチョン

  • RQ1イベントベースのトレースと形式的制約を用いたアプローチが、複雑でコンポーネントベースのソフトウェアシステムにおける違反を効果的に検出できるか。
  • RQ2Third Eye のモジュラーなアーキテクチャは、既存のソフトウェア開発およびテストインfraストラクチャへの統合をどの程度支援するか。
  • RQ3分散開発チームと異種コンポーネントを有するシステムにおいて、Third Eye がテストの複雑さをどの程度低減できるか。
  • RQ4実世界のシステムポリシー、例えば Apache Web Server のアクセス制御の検証において、Third Eye の実用的有効性はいかほどか。
  • RQ5低レベルのインストルメンテーションと比較して、ドメイン固有のイベントを用いることで、トレーサビリティがどのように向上し、エラーの導入が減少するか。

主な発見

  • Third Eye は、形式的制約のチェックを用いて、Apache Web Server のアクセスポリシー実行トレースにおける違反を正常に同定した。
  • フレームワークのイベントベースのアプローチにより、実装レベルのエラーを導入することなく、明確で意味のあるトレース表現が可能になった。
  • モジュラーかつ拡張可能な設計のおかげで、既存のトレース解析および仕様ツールへのシームレスな統合が実現した。
  • 形式的制約モデリングにより、アーキテクチャ的およびポリシー上の要件が効果的に捉えられ、検証の精度が向上した。
  • プロトタイプは、複雑なソフトウェア開発環境における従来のテストの補完としての実用的有用性を示した。
  • イベントの継承と型付けされたプロパティにより、トレースモデルの表現力と保守性が向上した。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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