Aspect Mining Using Link Analysis

Aspect mining is a technique that decouples the crosscutting concerns from existing software systems. The goal of aspect mining is to refactor the existing software systems with Aspect Oriented Programming technology. Inspired by the link analysis of information retrieval technology, this paper describes a two-state model to approximate how crosscutting concerns can be discovered in the concern graphs extracted from programs. Our mining algorithm generates ”scatter” and ”centralization” of each program element for the final ranking. The convergency of the algorithm proves fast. The Ranking technique, considering both ”scatter” and ”centralization”, produces a final ranking for identifying crosscutting concerns. Our aspect mining approach is evaluated on numerous Java programs that are of the typical selections for aspect mining. Compared with existing aspect mining approaches, our mining approach captures more information that helps domain experts refactor software systems and prove effective in identifying crosscutting concerns.

[1]  Grigoreta Sofia Moldovan,et al.  Aspect Mining using a Vector-Space Model Based Clustering Approach , 2006 .

[2]  Arie van Deursen,et al.  Identifying aspects using fan-in analysis , 2004, 11th Working Conference on Reverse Engineering.

[3]  Hans-Arno Jacobsen,et al.  Horizontal decomposition of Prevayler , 2005, CASCON.

[4]  Sven Apel,et al.  How AspectJ is Used: An Analysis of Eleven AspectJ Programs , 2010, J. Object Technol..

[5]  Gene H. Golub,et al.  Matrix computations , 1983 .

[6]  Leon Moonen,et al.  An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW , 2007 .

[7]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[8]  A. vanDeursen,et al.  A JHotDraw: A showcase for refactoring to aspects , 2005 .

[9]  Leon Moonen,et al.  An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW , 2007, Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007).

[10]  Jan Hannemann Aspect-Oriented Refactoring : Classification and Challenges , 2006 .

[11]  David L. Olson,et al.  Advanced Data Mining Techniques , 2008 .

[12]  Lili He,et al.  Aspect Mining Using Clustering and Association Rule Method , 2006 .

[13]  Maximilian Störzer,et al.  Aspect Mining for Aspect Refactoring : An Experience Report , 2006 .

[14]  Mariano Ceccato,et al.  Aspect mining through the formal concept analysis of execution traces , 2004, 11th Working Conference on Reverse Engineering.

[15]  Hans-Arno Jacobsen,et al.  Efficiently mining crosscutting concerns through random walks , 2007, AOSD.

[16]  Jens Krinke,et al.  Aspect mining using event traces , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..