Sciweavers

AOSD
2009
ACM

Dependent advice: a general approach to optimizing history-based aspects

14 years 6 months ago
Dependent advice: a general approach to optimizing history-based aspects
Many aspects for runtime monitoring are history-based: they contain pieces of advice that execute conditionally, based on the observed execution history. History-based aspects are notorious for causing high runtime overhead. Compilers can apply powerful optimizations to history-based aspects using domain knowledge. Unfortunately, current aspect languages like AspectJ impede optimizations, as they provide no means to express this domain knowledge. In this paper we present dependent advice, a novel AspectJ language extension. A dependent advice contains dependency annotations that preserve crucial domain knowledge: a dependent advice needs to execute only when its dependencies are fulfilled. Optimizations can exploit this knowledge: we present a whole-program analysis that removes advicedispatch code from program locations at which an advice’s dependencies cannot be fulfilled. Programmers often opt to have history-based aspects generated automatically, from formal specifications fr...
Eric Bodden, Feng Chen, Grigore Rosu
Added 19 May 2010
Updated 19 May 2010
Type Conference
Year 2009
Where AOSD
Authors Eric Bodden, Feng Chen, Grigore Rosu
Comments (0)