MAVEN: Modular aspect verification and interference analysis

Max Goldman, Emilia Katz, Shmuel Katz

Research output: Contribution to journalArticlepeer-review

Abstract

Aspects are program modules that include descriptions of key events (called joinpoints) and code segments (called advice) to be executed at those key events when the aspect is bound (woven) to an underlying system. The MAVEN tool verifies the correctness of an aspect relative to its specification, independently of any specific underlying system to which it may be woven, and also allows establishing noninterference among aspects, or detecting potential interference. The specification includes assumptions about properties of the underlying system, and guaranteed properties of any system after the aspect is woven into it. The approach is based on model checking of a state machine constructed using the linear temporal logic (LTL) description of the assumptions, a description of the join-points, and the state machine of the aspect advice. The tableau of the LTL assumption is used in a unique way, as a representative of any underlying system satisfying the assumptions. This is the first technique for once-and-for-all verification of an aspect relative to its specification, thereby increasing the modularity of proofs for systems with aspects. The individual correctness proofs along with proofs of interference freedom are appropriate for a library of reusable aspects, when multiple aspects are to be woven to a system.

Original languageEnglish
Pages (from-to)61-92
Number of pages32
JournalFormal Methods in System Design
Volume37
Issue number1
DOIs
StatePublished - Nov 2010

Keywords

  • Aspects
  • Detection
  • Interference
  • Model-checking
  • Modularity
  • Verification

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'MAVEN: Modular aspect verification and interference analysis'. Together they form a unique fingerprint.

Cite this