Mining Crosscutting Concerns through Random Walks

Charles Zhang, Hans-Arno Jacobsen
2012 IEEE Transactions on Software Engineering  
Inspired by our past manual aspect mining experiences, this paper describes a probabilistic random walk model to approximate the process of discovering crosscutting concerns in the absence of the domain knowledge about the investigated application. The random walks are performed on the concept graphs extracted from the program sources to calculate metrics of "utilization" and "aggregation" for each of the program elements. We rank all the program elements based on these metrics and use a
more » ... ld to produce a set of candidates that represent crosscutting concerns(CCs). We implemented the algorithm as the Prism CC miner (PCM) and evaluated PCM on Java applications ranging from a small-scale drawing application to a medium-sized middleware application and to a large-scale enterprise application server. Our quantification shows that PCM is able to produce comparable results (95% accuracy for top 125 candidates) with respect to the manual mining effort. PCM is also significantly more effective as compared to the conventional approach.
doi:10.1109/tse.2011.83 fatcat:svabb7hcard2zi3meyty2lgpke