A Graph-Transformation-Based Semantics for Analysing Aspect Interference

AOP is widely accepted as a language concept to improve separation of concerns. However, the separate development of aspects may introduce semantic problems in the composition of the aspects and the base system. We propose a modular and graph-based verification approach. An aspect-oriented program is represented by a graph. A graph production system specifying the semantics of the language allows us to generate a transition system of the execution of the program. This can be used to analyse and verify different properties of the system. We show that, currently, it allows the detection of semantic differences between advice orderings on shared joinpoints, which is one of the semantic problems referred to above.