Software may contain functionality that does not align with its architecture. Such cross-cutting concerns do not exist from the beginning but emerge over time. By analysing where developers add code to a program, our history-based mining identifies cross-cutting concerns in a two-step process. First, we mine CVS archives for sets of methods where a call to a specific single method was added. In a second step, simple cross-cutting concerns are combined to complex cross-cutting concerns. To compute these efficiently, we apply formal concept analysis – an algebraic theory. Unlike approaches based on static or dynamic analysis, history-based mining for cross-cutting concerns scales to industrial-sized projects: For example, we identified a locking concern that cross-cuts 1284 methods in the open-source project Eclipse.
@InProceedings{breu_et_al:DagSemProc.06302.8, author = {Breu, Silvia and Zimmermann, Thomas and Lindig, Christian}, title = {{Mining Eclipse for CrossCutting}}, booktitle = {Aspects For Legacy Applications}, pages = {1--4}, series = {Dagstuhl Seminar Proceedings (DagSemProc)}, ISSN = {1862-4405}, year = {2007}, volume = {6302}, editor = {Siobh\'{a}n Clarke and Leon Moonen and Ganesan Ramalingam}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06302.8}, URN = {urn:nbn:de:0030-drops-8853}, doi = {10.4230/DagSemProc.06302.8}, annote = {Keywords: } }
Feedback for Dagstuhl Publishing