GASR ( General-purpose Aspectual Source code Reasoner ) is a tool for answering user-specified questions about the structure as well as the behavior of an aspect-oriented program. Examples range from " which pointcut definitions are overridden in a subtype? " over " which pointcuts have a join point shadow in an advice? " to " can these advices be executed consecutively? ". Such questions have to be specified as a logic query of which the conditions quantify over the program’s source code.
GASR owes its query language to the core.logic port to Clojure of Kanren, and its IDE integration to the Ekeko Eclipse plugin. The latter enables launching and scheduling program queries, as well as inspecting the solutions to a query.
See the API documentation for an overview of the predicates than can be used within a program query.
Slideshare hosts an earlier presentation on GASR.
Install the prebuilt GASR plugin from the Eclipse update site: http://soft.vub.ac.be/~cderoove/eclipse/
See Installing New Software for help on installing Eclipse plugins from an update site.
GASR has been tested against Eclipse Luna (4.4). Eclipse update site for AspectJ development snapshots that are Luna compatible: http://download.eclipse.org/tools/ajdt/44/dev/update/
Alternatively, the plugin can also be built from the EkekoAspectJ Eclipse project in this repository.
Distributed under the Eclipse Public License (EPL version 1.0). See