Otimizações na compilação de adendos de contorno em programas orientados por aspectos - Eduardo Santos Cordeiro (2007)
Em menos de uma década, Programação Orientada por Aspectos (AOP) evoluiu de um conceito teórico para um conjunto de linguagens de programação e arcabouços de amplo uso no desenvolvimento de sistemas comerciais. A tecnologia que suporta ferramentas AOP é intrinsecamente intrusiva, pois altera o comportamento do código-base de aplicações. A costura de código realizada por compiladores da linguagem AspectJ deve introduzir comportamentos transversais definidos por adendos (advices) em programas Java sem causar impactos no seu desempenho. Neste trabalho caracterizam-se as técnicas de compilação e costura de código adotadas pelos compiladores da linguagem AspectJ ajc e abc, e identificam-se problemas existentes no código gerado durante a costura de adendos de contorno. Os problemas analisados são a repetição de implementações de adendos e hachuras (shadows) e repetição de variáveis de contexto. Apresentam-se otimizações que eliminam esses problemas para ambos os compiladores, bem como indicações de integração dessas soluções à etapa de costura de código de cada um. As otimizações propostas reduzem o tamanho, o tempo de execução e o consumo de memória de programas AspectJ que usam adendos de contorno.