The issues of code scattering and tangling, thus of achieving a better modularity for a system?s concerns, are addressed by the paradigm of aspect orientation. Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper describes a technique based on determining methods that are called from many different places (and hence have a high fan-in) to identify candidate aspects in a number of open-source Java systems. The most interesting aspects identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of aspects can be recognized using fan-in analysis, and that the technique is suitable for a high degree of automation.
Citation:
Marius Marin, Arie van Deursen, Leon Moonen, "Identifying Aspects Using Fan-In Analysis," wcre, pp.132-141, 11th Working Conference on Reverse Engineering (WCRE 2004), 2004