Identifying Crosscutting Concerns Using Fan-in Analysis
Marius Marin, Arie van Deursen, Leon Moonen
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 fan-in analysis, and each of the three steps can be supported by tools.
Create a lesson
Related papers
SWE-Prime: Fewer Trajectories, Better Performance
Dewu Zheng, Ruizhe Ye, Yanlin Wang et al.
From Static to Dynamic: Benchmarking Real-World Code Review with MCR-Bench
Dewu Zheng, Yanlin Wang, Xiwen Wang et al.
Persona-Execution Separation: An Architecture Pattern for Evolving LLM Agents under Execution Audit
Yisen Xi
Twelve Quick Tips for Managing IT Disasters in Small Research Software Teams
Greg Wilson
A Trans-Domain Digital Twin for Bio-Aware Control of Climate and Energy in Cattle Fattening Barns Using Single-Episode Optimizer Learning
Mansoorali Amiri
AgentDV: Closed-Loop Agentic AI for Hardware Design Verification
Navya Goli, Junzhe Liu, Zhenge Jia et al.