TY - GEN
T1 - Efficiently mining crosscutting concerns through random walks
AU - Zhang, Charles
AU - Jacobsen, Hans Arno
PY - 2007
Y1 - 2007
N2 - Inspired by our past manual aspect mining experiences, this paper describes a random walk model to approximate how crosscutting concerns can be discovered in the absence of domain knowledge of the investigated application. Random walks are performed on the coupling graphs extracted from the program sources. The ideas underlying the popular page-rank algorithm are adapted and extended to generate ranks reflecting the degrees of "popularity" and "significance" for each of the program elements on the coupling graphs. Filtering techniques, exploiting both types of ranks, are applied to produce a final list of candidates representing crosscutting concerns. The resulting aspect mining algorithm is evaluated on numerous Java applications ranging from a small-scale drawing application, to a medium-sized middleware application, and to a largescale enterprise application server. In seconds, the aspect mining algorithm is able to produce results comparable to our prior manual mining efforts. The mining algorithm also proves effective in helping domain experts identify latent crosscutting concerns.
AB - Inspired by our past manual aspect mining experiences, this paper describes a random walk model to approximate how crosscutting concerns can be discovered in the absence of domain knowledge of the investigated application. Random walks are performed on the coupling graphs extracted from the program sources. The ideas underlying the popular page-rank algorithm are adapted and extended to generate ranks reflecting the degrees of "popularity" and "significance" for each of the program elements on the coupling graphs. Filtering techniques, exploiting both types of ranks, are applied to produce a final list of candidates representing crosscutting concerns. The resulting aspect mining algorithm is evaluated on numerous Java applications ranging from a small-scale drawing application, to a medium-sized middleware application, and to a largescale enterprise application server. In seconds, the aspect mining algorithm is able to produce results comparable to our prior manual mining efforts. The mining algorithm also proves effective in helping domain experts identify latent crosscutting concerns.
KW - Aspect discovery
KW - Aspect mining
KW - Crosscutting concern discovery
UR - http://www.scopus.com/inward/record.url?scp=34548214160&partnerID=8YFLogxK
U2 - 10.1145/1218563.1218588
DO - 10.1145/1218563.1218588
M3 - Conference contribution
AN - SCOPUS:34548214160
SN - 1595936157
SN - 9781595936158
T3 - ACM International Conference Proceeding Series
SP - 226
EP - 238
BT - 6th International Conference on Aspect-Oriented Software Development - Research Track Proceedings
T2 - 6th International Conference on Aspect-Oriented Software Development
Y2 - 12 March 2007 through 16 March 2007
ER -