Seite 1 von 1

Master thesis: An AspectJ pointcut for invokedynamic instr.

Verfasst: 13. Feb 2012 16:51
von ericbodden
The AspectJ programming language offers programmers familiar with the Java programming language to intercept certain events in Java programs, to which an AspectJ program can then react. Events are described using a declarative syntax called “pointcuts”. For instance, the following pointcuts matches all calls to method whose names starts with “foo”: call(* foo*(..))

AspectJ programs are compiled through a so-called weaving process in which program statements such as calls to foo-Methods are instrumented. Unfortunately, this approach fails for certain programs written in Java 7. With version 7, the Java platform introduced a new bytecode call invokedynamic, which is designed to allow easier compilation of programs written in dynamic languages like Ruby or Groovy to the Java platform. The AspectJ pointcut mentioned above will currently not intercept method calls that will invoke methods through the invokedynamic bytecode.

Within this thesis, the student should extend the AspectBench Compiler, an open research compiler for AspectJ, with a new pointcut that allows the interception of invokedynamic bytecodes. The thesis should comprise a description of the implementation and a performance evaluation.

In case you are interested, please email me at