Personal tools
You are here: Home Members Oege de Moor Publications Semantics of static pointcuts in AspectJ
Document Actions

Semantics of static pointcuts in AspectJ

In: Matthias Felleisen (editor), SIGPLAN-SIGACT Symposium on Principles of Programming Language (POPL), Nice, France, January 2007.

Authors: Pavel Avgustinov, Elnar Hajiyev, Neil Ongkingco, Oege de Moor, Damien Sereni, Julian Tibble, Mathieu Verbaere
>

Abstract

In aspect-oriented programming, one can intercept events by writing patterns called pointcuts. The pointcut language of the most popular aspect-oriented programming language, AspectJ, allows the expression of highly complex properties of the static program structure. We present the first rigorous semantics of the AspectJ pointcut language, by translating static patterns into safe (i.e. range-restricted and stratified) Datalog queries. Safe Datalog is a logic language like Prolog, but it does not have data structures; consequently it has a straightforward least fixpoint semantics and all queries terminate. The translation from pointcuts to safe Datalog consists of a set of simple conditional rewrite rules, implemented using the Stratego system. The resulting queries are themselves executable with the CodeQuest system. We present experiments indicating that direct execution of our semantics is not prohibitively expensive.

(PDF, PS)

BIBTEX:

           @inproceedings{popl07abc, 
           author = "Pavel Avgustinov and
                         Elnar Hajiyev and 
                         Neil Ongkingco and
                         Oege de Moor and 
                         Damien Sereni and
                         Julian Tibble and
                         Mathieu Verbaere", 
           title = "Semantics of Static Pointcuts in AspectJ", 
           booktitle = "Principles of Programming Languages (POPL)", 
           editor = "Matthias Felleisen", 
           year = "2007", 
           publisher = "ACM Press"} 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: