Tool-supported refactoring of aspect-oriented programs

  • Authors:
  • Jan Wloka;Robert Hirschfeld;Joachim Hänsel

  • Affiliations:
  • Rutgers University, Piscataway;Hasso-Plattner-Institut, Potsdam, Germany;Fraunhofer FIRST, Berlin, Germany

  • Venue:
  • Proceedings of the 7th international conference on Aspect-oriented software development
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Aspect-oriented programming languages provide new composition mechanisms for improving the modularity of crosscutting concerns. Implementations of such language support use advanced program representations, like abstract syntax trees or stack traces, to enable an indirect specification (pointcut) of executions of program elements at which aspect code (advice) is invoked. During the evolution of a program, this representations will change and, hence, advice may not be executed as intended by the developer. In this paper we present a tool-supported refactoring approach that addresses this evolution problem by automating the detection of change effects on pointcuts and the generation of pointcut updates. A new model for decomposing pointcuts into simpler expressions is used as the base for deriving the change impact on pointcuts. Based on this model, we show how program analysis can detect affected or even broken pointcuts, how suitable pointcut adjustments can be derived, and when developer feedback is unavoidable.