AOSD Conference  
Program Overview
Technical Program
Industry Track
Student Extravaganza
Conference Venue
Chicago Photos
Chicago History
Student Volunteers
AOSD-Europe Sponsorships

T1 : abc : A Workbench for Aspect-Oriented Programming Language Research

Date Monday, March 14, 2005 morning (half day)
Presenters Oege de Moor, Oxford University
Laurie Hendren, McGill University
Level Advanced: Attendees should have basic knowledge of Java and AspectJ. To participate in the hands-on session, attendees should also bring a laptop computer with Java installed.


The proliferation of new features, analyses and optimizations for aspect-oriented programming languages necessitates a workbench for realistic experiments. The AspectBench Compiler (abc for short) provides such a workbench. The base compiler is a full implementation of the AspectJ 1.2 language. abc has been designed to disentangle the implementation of new, experimental features from the base compiler. abc has also been designed to enable the implementation of advanced analyses, for the purpose of optimization, but also to enable static detection of bugs.

The tutorial will first give a brief overview of the architecture of abc. It will explain the details of abc in three parts: in the first part, attendees will implement an extension to AspectJ that only requires changes in the frontend. In the second part, we cover a new type of join point, which also requires changes in the backend. In the third part, attendees will learn how to implement aggressive optimizations for features such as cflow. All the examples will be selected from papers by others that were presented at previous AOSD conferences.

Each part of the tutorial will include a hands-on problem solving session, in which attendees will be provided with a concrete task such as defining new kinds of join points and pointcuts.

By working through concrete examples from the literature, and also by actually implementing small language extensions, attendees will learn how to integrate their own language extensions, analyses and optimizations into abc.

AspectBench Compiler is available at


Oege de Moor received an M.Sc. degree from the University of Utrecht, the Netherlands. He did his doctoral (D.Phil.) work at Oxford, on a characterization in category theory of algorithmic paradigms such as dynamic programming. He has held visiting appointments at the University of Tokyo, Chalmers University and Microsoft Research (both Redmond and Cambridge).

Laurie Hendren received the B.Sc.(Honours) and M.Sc degrees in Computing and Information Science at Queen's University, Kingston, Canada. She received the Ph.D. degree from Cornell University, Ithaca, N.Y. Her Ph.D. thesis was in the area of automatic parallelization of programs with pointer data structures.

Edited by the AOSD Conference Committee.  Send comments to: