abc paper at POPL 2007
A paper on the semantics of static pointcuts in AspectJ has been accepted for publication at POPL 2007.
AspectJ is an aspect-oriented variant of Java. It provides facilities for intercepting events based on patterns written by the programmer. Also, a programmer can identify types (for instance to add new interfaces) by specifying appropriate patterns. The AspectJ pattern language is quite complex, and until now no there was no rigorous description of its semantics.
Drawing inspiration from the CodeQuest project, the abc team has now given such a rigorous semantics, by translating the AspectJ pattern language into Datalog queries. Furthermore, that semantics is directly executable on the CodeQuest query engine, with acceptable efficiency. By contrast, executing the same logical queries via an optimising Prolog compiler is infeasible.
A paper presenting these results has been accepted for publication at the ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL) 2007. POPL is one of the top conferences in programming language research.