Join Point Interfaces for Safe and Flexible Decoupling of Aspects

Author(s): E. Bodden, M. Inostroza, E. Tanter
Venue: International Conference on Software Engineering
Date: 2014

Type of Experiement: Case Study
Sample Size: 4
Class/Experience Level: Professional
Participant Selection: Popular AOP frameworks
Data Collection Method: Code Metric


This study introduces the concept of Joint-Point Interfaces (JPI) that acts an an intermediary between the base code and its various aspects in an Aspect-oriented programming (AOP) environment. This methodology helps to decouple the application from is various aspects, and encourages independent development of each module. JPI is implmented similarly to a Joint-Point Types (JPT), but the aspects only specify the types of join points they advise (and not the pointcuts). This means that the point-cuts are not compromised.

To test the improvements of this abstraction, Bodden et. al. took 4 existing AOP frameworks and implemented the JPI into them. They converted each project three times; the first version uses neither generics nor global JPIs, the second includes generics, and the third uses the full set of language mechanisms. the implementations were systematically investigated and empirically measured based on development tools used to analyze join point shadows