International Workshop on the State Of the Art in Java Program Analysis

Co-located with PLDI, June 2012 in Beijing, China.
Submissions by March 28th, 2012. More information


TAOSD Special Issue on Runtime Verification and Analysis

Submission deadline: August 15th, 2012 More information here.


What is Clara?

Clara joins the results of three research communities: Runtime Verification, AOP and Static Analysis

Clara (CompiLe-time Approximation of Runtime Analyses) is a novel research framework for the implementation of hybrid typestate analyses, which use static analyses to partially evaluate runtime monitors for typestate properties. The major design goal of Clara is to de-couple the code-generation for efficient runtime monitors from the static analyses that convert these monitors into faster, residual monitors. Clara is compatible to any runtime monitor that is implemented as an AspectJ aspect. Further, researchers can easily implement static analyses that will then automatically optimize any of these monitors.

Clara is built on top of the AspectBench Compiler, which uses technologies from Soot and JastAdd.

This project is supported by CASEDFor Researchers, Clara offers:

Want to read more about how Clara works? The following is out primary publication on Clara:
Clara: a Framework for Statically Evaluating Finite-state Runtime Monitors, by Eric Bodden, Patrick Lam and Laurie Hendren. 1st International Conference on Runtime Verification (RV). LNCS. Springer. 2010. PDF

For Developers, Clara offers:


Clara originated as Eric Bodden‘s doctoral-thesis project at the Sable Research Group. The design and implementation of Clara was greatly influenced by the work of this group and the Programming Tools Group at the University of Oxford, specifically Laurie Hendren, Patrick Lam, Oege de Moor, Pavel Avgustinov, Julian Tibble and Torbjörn Ekman. 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.