Download presentation
Presentation is loading. Please wait.
Published byJulia Little Modified over 9 years ago
1
abc Compiler Zak Fry
2
Who and Where Programming Tools Group at Oxford University, UK – Oege de Moor Sable Research Group at McGill University, Quebec – Laurie Hendren
3
Language and Platform AspectJ Compiler – Aspect Oriented (compliment to OOP) Extension of Java developed by Xerox PARC Standalone with Eclipse support for generated code – Visualization support for crosscutting concerns
4
Architecture and Design Polyglot – frontend that aids in adding AspectJ to Java Soot – backend that deals with bytecode and aids in finding aspects/weaving Inputs:.java and.class files Outputs: AO.java and.class files
5
Representations AspectJ AST Java AST Aspect Info – Instructions for weaver Jimple – Skeleton – Regular IR – Woven IR – Final IR
6
Uses and Strengths AspectJ and Aspect Oriented research – Conversion of OO Java to AO Java – Studying, Analyzing, Improving AO techniques Strengths – Polyglot - Easy to extend or change aspect output – Soot (Jimple) – ease of translation between bytecode, Jimple, Java source – Optimization is much higher than competition
7
Benchmarks EAJ – redefinition of “adding variables to pointcuts” – shows ease of adding functionality to abc (AOSD 2005) Large study April 2006 of many AspectJ programs Also: runtime verification, tracematches
8
Limitations Slower than competitor ajc Requires ALL aspects to be in source – No separate compilation
9
Future Work Mostly individual extensions corresponding to individual projects – Monitoring synchronized blocks – Monitoring shared field access – Etc…
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.