How AspectJ is Used: An Analysis of Eleven AspectJ Programs.
Sven Apel · The Journal of Object Technology · 2010
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 what purpose.We found the code of these programs to be on average 86 % object-oriented, 12 % basic crosscutting mechanisms (introductions and method extensions), and 2 % advanced crosscutting mechanisms (homogeneous advice or advanced dynamic advice).Based on these results we initiate a discussion on the trade-off between expressiveness and simplicity of languages that support the modularization of crosscutting concerns.Our analysis of the eleven AspectJ programs shows on average 86 % of the code 1 http://www.eclipse.