HAM: Cross-Cutting Concerns in Eclipse – eTX 2006

by Silvia Breu, Thomas Zimmermann, 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 as PDF.
See also: http://www.softevo.org/

Reference

Silvia Breu, Thomas Zimmermann, Christian Lindig. HAM: Cross-Cutting Concerns in Eclipse. In Proceedings of the 2006 OOPSLA Workshop on Eclipse Technology eXchange (eTX 2006), Portland, OR, USA, October 2006.

BibTeX Entry

@inproceedings{breu-etx-2006,
    title = "HAM: Cross-Cutting Concerns in Eclipse",
    author = "Silvia Breu and Thomas Zimmermann and Christian Lindig",
    year = "2006",
    month = "October",
    address = "New York, NY, USA",
    booktitle = "Proceedings of the 2006 OOPSLA Workshop on Eclipse Technology eXchange",
    location = "Portland, OR, USA",
    publisher = "ACM Press",
}