Fakultät für Informatik und Mathematik


Paper Description

BibTeX entry

author="Sven Apel, Don Batory",
title="How AspectJ is Used: An Analysis of Eleven AspectJ Programs",
institution="Fakult{\"a}t f{\"u}r Informatik und Mathematik, Universit{\"a}t Passau,


While it is well-known that crosscutting concerns occur in many software projects, little is known on how aspect-oriented programming and in particular AspectJ have been used. In this paper, we analyze eleven AspectJ programs by different authors to answer the questions: which mechanisms are used, to what extent, and for waht purpose. We found the code of these programs to be on average 86 % object-oriented, 12 % basic AspectJ mechanisms (introductions and method extensions), and 2 % advanced AspectJ mechanisms (homogeneous advice or advanced dynamic advice). There is one class of crosscutting concerns - which is mostly concerned with introductions and method extensions - that matches this result well: collaborations. These results and our discussions with program authors indicate the bulk of coding activities was implementing collaborations. Several studies and researchers suggest that languages explicitly supporting collaborations are better suited than aspects a la AspectJ for this task.

Paper itself