OpenJML Features

These tables list the various features of JML and their status within OpenJML.
Tools
Java language elements
General JML features
Types specifications
Method specifications
Field specifications
JML types
JML expressions
Store-ref expressions
JML Statements
Modifiers
OpenJML extensions to JML
Deprecated syntax

Key:

Level: The level column gives the language level of the feature as defined in the JML Reference Manual.

Tools

Eclipse integration Problem indication, source code browsing, auto static checking and runtime compilation, counterexample browsing are implemented; syntax coloring, JML_aware editing is in planning
static checking tool See the feature status in the tables below
runtime assertion checking tool See the feature status in the tables below
jmldoc tool Planned - specifications shown for all Java elements; needs implementation of model methods and model classes
Test suite generation See JMLUnitNG
high-coverage test case generation Planned
specification discovery Planned
.jml template generation Planned
multi-threaded checking Planned
specification checking using method inlining Planned

Java language elements

Except where indicated, all Java language elements through Java 7 are parsed, typechecked and compiled in RAC. Some elements are not modeled by OpenJML logic or have the corresponding checks inserted in RAC