Optimized Compilation of Around Advice for Aspect Oriented Programs
Eduardo S. Cordeiro (Universidade Federal de Minas Gerais, Brazil)
Roberto S. Bigonha (Universidade Federal de Minas Gerais, Brazil)
Mariza A. S. Bigonha (Universidade Federal de Minas Gerais, Brazil)
Fabio Tirelo (Universidade Federal de Minas Gerais, Brazil)
Abstract: The technology that supports Aspect-Oriented Programming (AOP) tools is inherently intrusive, since it changes the behavior of base application code. Advice weaving performed by AspectJ compilers must introduce crosscutting behavior defined in advice into Java programs without causing great performance overhead. This papershows the techniques applied by the ajc and abc AspectJ compilers for around advice weaving, and identifies problems in code they produce. The problems analyzed are advice and shadow implementation repetition and context variable repetition. Performance gain provided by solving these problems is discussed, showing that bytecodesize, running time and memory consumption can be reduced by these optimizations. It is assumed that the reader is familiar with AOP and AspectJ constructs.
Keywords: advice weaving, aspect-oriented programming, optimized compilation