Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
394214 | Information Sciences | 2011 | 26 Pages |
Aspect-oriented programming (AOP) is a promising technology that supports separation of crosscutting concerns (i.e., functionality that tends to be tangled with, and scattered through the rest of the system). In AOP, a method-like construct named advice is applied to join points in the system through a special construct named pointcut. This mechanism supports the modularization of crosscutting behavior; however, since the added interactions are not explicit in the source code, it is hard to ensure their correctness. To tackle this problem, this paper presents a rigorous coverage analysis approach to ensure exercising the logic of each advice – statements, branches, and def-use pairs – at each affected join point. To make this analysis possible, a structural model based on Java bytecode – called PointCut-based Def-Use Graph (PCDU)(PCDU) – is proposed, along with three integration testing criteria. Theoretical, empirical, and exploratory studies involving 12 aspect-oriented programs and several fault examples present evidence of the feasibility and effectiveness of the proposed approach.