Print Email Facebook Twitter Identifying Crosscutting Concerns Using Fan-in Analysis Title Identifying Crosscutting Concerns Using Fan-in Analysis Author Marin, M. Van Deursen, A. Moonen, L. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2006-12-31 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. Preprint accepted for publication in Accepted for publication in Transactions on Software Engineering and Methodology (TOSEM), 2007, ACM To reference this document use: http://resolver.tudelft.nl/uuid:03f6a447-ff0f-4c76-9104-712843cf234f Publisher Delft University of Technology, Software Engineering Research Group ISSN 1872-5392 Source Technical Report Series TUD-SERG-2006-013 Part of collection Institutional Repository Document type report Rights © 2006 The Author(s) . Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology Files PDF 0609147.pdf 706.88 KB Close viewer /islandora/object/uuid:03f6a447-ff0f-4c76-9104-712843cf234f/datastream/OBJ/view