[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Clara framework for statically optimizing AspectJ-based runtime monitors

Dear all.

On my website, I just published Clara (Compile-time Approximation of
Runtime Analyses), a novel framework for the implementation of hybrid
typestate analyses. A hybrid typestate analysis is essentially a
static analysis that attempts to optimize a state-based runtime
monitor with respect to a specific program under test. The AOSD twist
to this issue is that Clara explicitly supports AspectJ-based runtime


Clara completely de-couples the static-analysis part from the
complicated task of creating efficient runtime monitors. Clara can use
any static analysis that is implemented in the framework to optimize
any AspectJ-based runtime monitor. The only restriction is that the
aspects must carry a special annotation: a dependency state machine.
Currently tracematches and JavaMOP can generate aspects that carry
Clara-compatible annotations. In the future we hope that more tools
will support these annotations too.

The Clara framework is freely available under LGPL. We encourage
everyone who is thinking about doing work in this area to make use of
this framework. Not only does the Clara framework allow you to get
started with implementing a new analysis within minutes; implementing
an analysis within Clara automatically makes this analysis comparable
to other analyses that are implemented within the same framework.

Clara comes with a set of three pre-defined example analyses that we
published in previous work. In addition, the Clara website provides
extensive documentation along with an empty "stub" extension that
allows you to get started quickly. My dissertation (draft online)
explains the framework in depth. If you have questions about Clara or
just want to stay up-to-date about developments, please subscribe to
our mailing list: http://groups.google.com/group/clara-framework

The design and implementation of Clara was greatly influenced by many
people. Creating Clara would have been impossible without the help of
the Sable Research Group, specifically Laurie Hendren, Patrick Lam,
the Programming Tools Group at the University of Oxford, specifically
Pavel Avgustinov, Julian Tibble, Torbjörn Ekman and Oege de Moor. Many
thanks also to Feng Chen and Grigore Rosu for helping integrate their
JavaMOP framework with Clara. Manu Sridharan contributed a very
precise points-to analysis to Soot without which Clara could not work.
Clara uses technologies from the AspectBench Compiler, Soot, JastAdd,
polyglot and other open-source projects.

Best wishes,

Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt