Metaproperty aspects

  • Authors:
  • Clayton G. Myers;Elisa L.A. Baniassad

  • Affiliations:
  • The Chinese University of Hong Kong, Sha Tin, New Territories, Hong Kong;The Chinese University of Hong Kong, Sha Tin, New Territories, Hong Kong

  • Venue:
  • Proceedings of the 8th ACM international conference on Aspect-oriented software development
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Currently, it is possible to use Aspect-Oriented languages to attach behavior to code based on semantic or syntactic properties of that code. There is no language, however, that allows developers to attach behavior based on static metaproperties of code. Here, we demonstrate a technique for applying AOP methods to metaproperties of source code. We use advice to coherently define runtime behavior for subsets of code that need not share semantic or syntactic properties. To illustrate the approach, we use Java as a base language, and define a family of pointcuts based on the edit time of the source lines, then build a simple debugging application that applies runtime tracing to only the most recently changed code. Using this technique, the tracing code is neatly modularized and need not depend on any semantic properties of the base code. We believe that this approach has powerful applications for debugging as well as for software engineering researchers looking to explore the runtime effects of extra-linguistic features.