Skip to main content
QUICK REVIEW

[논문 리뷰] Apache Web Server Execution Tracing Using Third Eye

Raimondas Lencevicius, Alexander Ran|arXiv (Cornell University)|2000. 01. 01.
Engineering and Information Technology참고 문헌 5인용 수 1
한 줄 요약

이 논문은 도메인 특화 이벤트와 형식적 제약 조건을 사용하여 소프트웨어 시스템을 추적하고 검증하기 위한 유연한 프레임워크인 Third Eye를 제시한다. Apache 웹 서버의 액세스 정책을 추적 가능한 이벤트로 모델링하고 아키텍처 제약 조건을 강제 적용함으로써 실행 위반을 탐지함으로써, 이 프레임워크는 복잡한 구성 요소 기반 시스템을 위한 소프트웨어 개발 파이프라인에 실용적인 보완으로서의 효과를 입증한다.

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 웹 서버의 액세스 정책 구현에 대해 프레임워크의 효과성을 평가하기 위해.
  • 이벤트 기반 추적과 형식적 제약 조건 검증이 개발 라이프사이클의 조기에 행동 위반을 탐지할 수 있음을 입증하기 위해.

제안 방법

  • 응용 프로그램 도메인 상태 변화를 표현하기 위해 이름이 붙고 타입이 지정된 속성과 상속을 갖는 타입이 지정된 이벤트를 사용하여 시스템 행동을 모델링한다.
  • 실행 추적을 런타임에 이벤트를 보고함으로써 캡처하며, 추적 분석을 위한 시간과 위치 메타데이터를 포함한다.
  • 이벤트 시퀀스, 시간, 속성 및 위치에 대한 형식적 제약 조건을 정의하여 정상적인 시스템 행동을 지정한다.
  • 전용 쿼리 도구를 사용하여 나중에 분석하기 위해 이벤트 추적을 영구 저장소에 저장한다.
  • 제약 조건 사양 언어와 추적 분석 도구를 통합하여 아키텍처 규칙 준수 여부를 검증한다.
  • 프레임워크를 사용하여 Apache 웹 서버 실행 추적을 분석하고 액세스 정책 제약 조건 위반 여부를 점검한다.

실험 결과

연구 질문

  • RQ1이벤트 기반 추적과 형식적 제약 조건 검증이 복잡한 구성 요소 기반 소프트웨어 시스템에서 위반을 효과적으로 탐지할 수 있는가?
  • RQ2Third Eye의 모듈러 아키텍처는 기존 소프트웨어 개발 및 테스트 인fra구조와의 통합을 어떻게 지원하는가?
  • RQ3Third Eye는 지역적으로 분산된 개발 팀과 이질적인 구성 요소를 가진 시스템에서 테스트 복잡성을 얼마나 줄일 수 있는가?
  • RQ4Apache 웹 서버 액세스 제어와 같은 실제 시스템 정책을 검증하는 데서 Third Eye의 실용적 효과는 어떠한가?
  • RQ5저수준 인스트루멘테이션 대비 도메인 특화 이벤트 사용이 추적 가능성 향상과 오류 유발 감소에 어떻게 기여하는가?

주요 결과

  • Third Eye는 형식적 제약 조건 검증을 통해 Apache 웹 서버 액세스 정책 실행 추적에서 위반 사항을 성공적으로 식별했다.
  • 프레임워크의 이벤트 기반 접근 방식은 구현 수준 오류를 유발하지 않으면서도 명확하고 의미 있는 추적 표현을 가능하게 했다.
  • 모듈러하고 확장 가능한 설계 덕분에 기존 추적 분석 및 사양 도구와 원활하게 통합될 수 있었다.
  • 형식적 제약 조건 모델링이 아키텍처 및 정책 수준의 요구 사항을 효과적으로 포괄하여 검증 정밀도를 향상시켰다.
  • 프로토타입은 복잡한 소프트웨어 개발 환경에서 기존 테스트의 보조 수 Mittel로 실용적인 유용성을 입증했다.
  • 이벤트 상속과 타입이 지정된 속성은 추적 모델의 표현력과 유지보수성을 향상시켰다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.