Abstract:
Whether you like or not, one of the typical usages of AOP is to tentatively modify program's behavior in order to fix a bug, to quickly add a new feature, to simulate different execution environment, and so on. This talk illustrates a weakness in AspectJ's type system for such purposes, which is too restrictive about types of the around advice. We then propose an AspectJ compiler that has a more relaxed type system without compromising type safety.
Reference:
Can we use AOP for patching?: A weakness in AspectJ's type system and a remedy (Hidehiko Masuhara), Talk at the Workshop on Trade-offs in Software Language Engineering, University of Twente, the Netherlands, 2009.
Bibtex Entry:
@misc{masuhara2009tsle,
author = {Hidehiko Masuhara},
title = {Can we use {AOP} for patching?: A weakness in
{AspectJ}'s type system and a remedy},
howpublished = {Talk at the Workshop on Trade-offs in Software
Language Engineering, University of Twente, the Netherlands},
month = jun # { 11},
year = 2009,
location = {University of Twente, the Netherlands},
abstract = {Whether you like or not, one of the typical usages
of AOP is to tentatively modify program's behavior
in order to fix a bug, to quickly add a new feature,
to simulate different execution environment, and so
on. This talk illustrates a weakness in AspectJ's
type system for such purposes, which is too
restrictive about types of the around advice. We
then propose an AspectJ compiler that has a more
relaxed type system without compromising type
safety.}
}