Mining Eclipse for Cross-Cutting Concerns
Silvia Breu, Thomas Zimmermann, and Christian Lindig
 
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.
 
Download: msr2006.pdf
BibTeX entry: msr2006.bib
 
 
Mining Additions of Method Calls in ArgoUML
Thomas Zimmermann, Silvia Breu, Christian Lindig, and Ben Livshits
 
In this paper we refine the classical co-change to the addition of method calls. We use this concept to find usage patterns and to identify cross-cutting concerns for ArgoUML.
 
BibTeX entry: msr2006challenge.bib
ICSE/MSR 2006
back to homepage