HAM: cross-cutting concerns in Eclipse

  • Authors:
  • Silvia Breu;Thomas Zimmermann;Christian Lindig

  • Affiliations:
  • University of Cambridge, Cambridge, UK;Saarland University, Saarbrücken, Germany;Saarland University, Saarbrücken, Germany

  • Venue:
  • eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.