Artículo de revista
Composition of Dynamic Analysis Aspects
Fecha
2011-02Registro en:
ACM SIGPLAN NOTICES Volume: 46 Issue: 2 Pages: 113-122 Published: FEB 2011
0362-1340
DOI: 10.1145/1942788.1868311
Autor
Tanter, Éric Pierre
Moret, Philippe
Binder, Walter
Ansaloni, Danilo
Institución
Resumen
Aspect-oriented programming provides a convenient high-level model to define several kinds of dynamic analyses, in particular thanks to recent advances in exhaustive weaving in core libraries. Casting dynamic analyses as aspects allows the use of a single weaving infrastructure to apply different analyses to the same base program, simultaneously. However, even if dynamic analysis aspects are mutually independent, their mere presence perturbates the observations of others: this is due to the fact that aspectual computation is potentially visible to all aspects. Because current aspect composition approaches do not address this kind of computational interference, combining different analysis aspects yields at best unpredictable results. It is also impossible to flexibly combine various analyses, for instance to analyze an analysis aspect. In this paper we show how the notion of execution levels makes it possible to effectively address these composition issues. In order to realize this approach, we explore the practical and efficient integration of execution levels in a mainstream aspect language, AspectJ. We report on a case study of composing two out-of-the-box analysis aspects in a variety of ways, highlighting the benefits of the approach.