Does aspect-oriented programming increase the development speed for crosscutting code? An empirical study
Stefan Hanenberg, Sebastian Kleinschmager, Manuel Josupeit-Walter · 2009
Aspect-oriented software development is an approach which addresses the construction of software artifacts that traditional software engineering constructs fail to modularize: the so-called crosscutting concerns. However, although aspect-orientation claims to permit a better modularization of crosscutting concerns, it is still not clear whether the development time for such crosscutting concerns is increased or decreased by the application of aspect-oriented techniques. This paper addresses this issue by an experiment which compares the development times of crosscutting concerns using traditional composition techniques and aspect-oriented composition techniques using the object-oriented programming language Java and the aspect-oriented programming language AspectJ. In that way, the experiment reveals opportunities and risks caused by aspect-oriented programming techniques in comparison to object-oriented ones.