Uma estratégia de refatoração para AspectJ utilizando leis de programação e XML - Melo Júnior, Leopoldo Soares de (2007)
Este trabalho apresenta um processo de refatoração de código orientado a aspectos que permite construir refatorações codificando apenas em uma linguagem declarativa. Esta abordagem utiliza AspectJML, uma representação em XML de AspectJ, para armazenar as estruturas sintáticas do código AspectJ; XSLT, uma linguagem declarativa de transformação para XML, para implementar as transformações definidas pelas leis de programação requeridas para cada refatoração; e uma instância de uma adaptação do RefaX, um arcabouço de refatoração baseado em XML para a linguagem Java, para implementar a ferramenta de refatoração para AspectJ. A principal vantagem desta abordagem é a possibilidade de construir e customizar refatorações de código AspectJ se beneficiando dos recursos de alto nível de casamento de padrões e de transformação oferecidos por XSLT. Esta abordagem foi avaliada com a construção de duas refatorações para AspectJ, extract pointcut e extract method calls.