Skip to content
John L. Singleton edited this page Dec 2, 2015 · 1 revision

[TOC]

http://cis.ksu.edu/~chalin/image/JML_ECLIPSE_web_logo.gif

JML Eclipse

[JmlEclipse] is an Eclipse-based Integrated Verification Environment (IVE) for Java 6. It uses the Java Modeling Language (JML) as a specification notation and it currently supports:

  • Runtime Assertion Checking (RAC).
  • Extended Static Checker (pre-alpha).
  • Full Static Program Verification (pre-alpha).
  • Static Verification via Symbolic Execution.
  • Test case generation, including the graphical representation of complex heap structures.

The former is achieved by JML4c, the [JML4]-based RAC tool by Amritam Sarcar and Yoonsik Cheon. The latter two features are offered by Sireum/Kiasan for Java by Robby and other members of the SAnToS team at Kansas State University (KSU).

[JmlEclipse] development is being led by Patrice Chalin (DSRG.org), joined by Robby (SAnToS). For those of you how know a bit about the history of JML tools, [JmlEclipse] is the successor of [JML4] (well, actually, successor of the various JML_n_ projects). It runs under Eclipse 3.5.2, reads JML specifications in the [JML2] input syntax and emits classes files with JML embedded in the JML Intermediate Representation ([JIR]) format. For those of you who recall, this is actually a rebirth of the old SAnToS [JmlEclipse] plug-in. The main paper on [JmlEclipse] is:

Also see:

Using [JmlEclipse]

  • A first official (non-beta) release of [JmlEclipse] is targeted for TBD - until we get more developer resources, we might stay in beta for a while [Chalin - 2010/11].
  • Our current release roadmap: [JmlEclipse] release for ...
  • Download and configuration instructions.

JDT Relevant information

[JmlEclipse] Developer Notes

Note that in some cases a reference is given to a corresponding [JML4] page when the information it contains is still relevant.

Process

How to …

  • Setup Eclipse for [JmlEclipse] and run tests to verify installation.
  • Build the parser.
  • Commit an Eclipse.org "vendor" release.
  • Merge the changes of a vendor release into the JML4 JDT Core.
  • Launch [JmlEclipse]: Select menu Run >> Run Configurations ... . In the dialog that opens, under Eclipse Applications, choose "[JmlEclipse] (JML4)", then hit the Run button.
  • Export: [JmlEclipse] as a plug-in and jml-runtime.jar.

Notes and information

Older [JML4] notes that may still be relevant:

Clone this wiki locally