Testing Aspect-Oriented Programs - Rodrigo M. L. M. Moreira (2010)
This work addresses software quality issues introduced by Aspect-Oriented Programming (AOP). AOP aims at enhancing modularity and thus solving the problem of crosscutting concerns by capturing them into new units of modularity called aspects. With the increasing usage and acceptance of AOP, the task of assuring aspect-oriented systems' correctness has become a challenge, mainly due to its nature. Although several testing techniques have been applied and improved for object-oriented programs through the years, there is still the problem of selecting and verifying which ones can be effectively applied to AOP. This paper presents a perspective on how AOP can improve quality (when applied correctly), identifies a set of key testing issues that arise with AOP and presents weaknesses and strengths of the existing solutions to improve quality in AOP.