Identifying Crosscutting Concerns Using Fan-in Analysis
Marius Marin, Arie van Deursen, Leon Moonen

TL;DR
This paper introduces a semi-automatic fan-in analysis approach, supported by an Eclipse plugin, to identify crosscutting concerns in Java systems, revealing many concerns including previously unrecognized ones.
Contribution
It presents a novel fan-in based aspect mining method with a supporting tool, FINT, for semi-automatic detection of crosscutting concerns in large codebases.
Findings
Effective identification of crosscutting concerns in open source Java systems
The approach uncovers several concerns not previously discussed in literature
All three analysis steps are supported by tools, enhancing usability
Abstract
Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semi-automatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns 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 crosscutting concerns can be recognized using…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
