SCoPE: an AspectJ Compiler for Supporting User-Defined Analysis-Based Pointcuts (bibtex)
by Tomoyuki Aotani and Hidehiko Masuhara
Abstract:
This paper proposes an approach called SCoPE, which supports user-defined analysis-based pointcuts in aspect-oriented programming (AOP) languages. The advantage of our approach is better integration with existing AOP languages than previous approaches. Instead of extending the language, SCoPE allows the programmer to write a pointcut that analyzes a program by using a conditional (if) pointcut with introspective reflection libraries. A compilation scheme automatically eliminates runtime tests for such a pointcut. The approach also makes effects of aspects visible to the analysis, which is essential for determining proper aspect interactions. We implemented a SCoPE compiler for the AspectJ language on top of the AspectBench compiler using a backpatching technique. The implementation efficiently finds analysis-based pointcuts, and generates woven code without runtime tests for those pointcuts. Our benchmark tests with JHotDraw and other programs showed that SCoPE compiles programs with less than 1% compile-time overhead, and generates a program that is as efficient as an equivalent program that uses merely static pointcuts.
Reference:
SCoPE: an AspectJ Compiler for Supporting User-Defined Analysis-Based Pointcuts (Tomoyuki Aotani and Hidehiko Masuhara), In Proceedings of the 6th International Conference on Aspect-Oriented Software Development (AOSD'07) (Oege de Moor, ed.), ACM Press, 2007.
Bibtex Entry:
@inproceedings{aotani2007aosd,
  acceptanceratio = {18% (19/107)},
  month = mar,
  address = {New York, NY, USA},
  publisher = {ACM Press},
  location = {Vancouver, British Columbia, Canada},
  isbn = {1-59593-615-7},
  year = 2007,
  booktitle = {Proceedings of the 6th International Conference on
		  Aspect-Oriented Software Development (AOSD'07)},
  editor = {Oege de Moor},
  author = {Tomoyuki Aotani and Hidehiko Masuhara},
  pdf = {aosd2007.pdf},
  title = {{SCoPE}: an {AspectJ} Compiler for Supporting User-Defined Analysis-Based Pointcuts},
  pages = {161--172},
  doi = {10.1145/1218563.1218582},
  abstract = {This paper proposes an approach called SCoPE, which supports user-defined analysis-based pointcuts in aspect-oriented programming (AOP) languages. The advantage of our approach is better integration with existing AOP languages than previous approaches. Instead of extending the language, SCoPE allows the programmer to write a pointcut that analyzes a program by using a conditional (if) pointcut with introspective reflection libraries. A compilation scheme automatically eliminates runtime tests for such a pointcut. The approach also makes effects of aspects visible to the analysis, which is essential for determining proper aspect interactions. We implemented a SCoPE compiler for the AspectJ language on top of the AspectBench compiler using a backpatching technique. The implementation efficiently finds analysis-based pointcuts, and generates woven code without runtime tests for those pointcuts. Our benchmark tests with JHotDraw and other programs showed that SCoPE compiles programs with less than 1\% compile-time overhead, and generates a program that is as efficient as an equivalent program that uses merely static pointcuts.}
}
Powered by bibtexbrowser