Welcome, Guest! Log In | Create Account

JAJML

JAJML is an effort to show that extensible dynamic analysis tools can be written more easily with modern attribute grammar tools, in particular with JastAdd. JAJML is currently a case study on Loop Annotations documented in the paper -[file:JastAddJML_CaseStudy.pdf]-. Further effort has taken place in implementing pre and post conditions for methods. The current implementation has proven to be extensible and requires less effort to implement.

Setup

Setting up JAJML comes in four easy steps:

  1. Follow the instructions on the JastAdd Extensible Java Compiler page to checkout and test the following four projects (Java1.4Frontend, Java1.4Backend, Java1.5Frontend, Java1.5Backend)
  2. Checkout the project JAJML from https://jmlspecs.svn.sourceforge.net/svnroot/jmlspecs/JAJML/trunk/JAJML
  3. Compile the JAJML by running the build.xml ant build file. (On a Windows machine, it seems to help if you use -Xms128M -Xmx786M as arguments for the Java Virtual Machine, otherwise the building seems to die. In Eclipse this can be set globally from Window > Preferences and then search for "Installed JREs" (or go to Java > Installed JREs) and then clicking on the particular JRE you run, and then the "Edit..." button, and then paste in -Xms128M -Xmx786M in the box labeled "Default VM arguments". Or you can set it in a particular External Tools Configurations, which you access from the Run > External Tools > External Tool Configurations, and then go to the "JRE" tab, and put in that string under "VM arguments".)
  4. Run the test case class testFramework/tests/Test_possibly_annotated_loop.java to test our implementation for loop annotation.

Documentation

Joe LaFata has written some initial documentation about how to work with JAJML and JastAdd.