HAM: Cross-Cutting Concerns in Eclipse
Silvia Breu, Thomas Zimmermann, and Christian Lindig
 
As programs evolve, newly added functionality sometimes no longer aligns with the original design, ending up scattered across the software system. Aspect mining tries to identify such cross-cutting concerns in a program to support maintenance, or as a first step towards an aspect-oriented program.  Previous approaches to aspect mining applied static or dynamic program analysis techniques to a single version of a system. We exploit all versions from a system's CVS history to mine aspect candidates; we are about to extend our research prototype to an Eclipse plug-in called HAM: when a single CVS commit adds calls to the same (small) set of methods in many unrelated locations, these method calls are likely to be cross-cutting. HAM employs formal concept analysis to identify aspect candidates. Analysing one commit operation at a time makes the approach scale to industrial-sized programs.  In an evaluation we mined cross-cutting concerns from Eclipse 3.2M3 and found that up to 90% of the top-10 aspect candidates are truly cross-cutting concerns.
 
Download: etx2006.pdf
BibTeX entry: etx2006.bib
eTX 2006
back to homepage