Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Formal Verification Tools
  3. OpenJML

OpenJML

What it is

OpenJML is a free, open-source tool that checks whether Java programs annotated with Java Modeling Language specifications satisfy those specifications. It provides static deductive verification and runtime assertion checking, including counterexamples. The standalone command-line application runs on macOS, Ubuntu Linux, WSL, Cygwin, and Windows CMD. Downloads include a VS Code extension and an Eclipse plugin, both requiring an OpenJML installation. The feature status page marks Eclipse, Visual Studio, IntelliJ, and LSP integration as obsolete and unsupported, with future integration planned. Its language server offers editor warnings and errors, syntax coloring, definition and reference navigation, and document highlights. Java elements through Java 7 are generally handled in runtime assertion checking, with documented exceptions and partial support. OpenJML uses bundled SMT solvers as logic checkers. The command-line tool is GPL version 2 licensed. Test suite generation is not yet supported.

For and against

For

  • Provides deductive verification and runtime checking
  • Supports Java and JML input
  • Includes counterexamples
  • Offers command-line and VS Code tools
  • Bundles supported SMT solvers

Against

  • Several IDE integrations are obsolete and unsupported
  • Java support is generally through Java 7
  • Test suite generation is unavailable
  • Extensions require an OpenJML installation

The verdict

OpenJML provides contract-based Java verification through a self-hosted command line and editor tooling. Users should account for its older Java coverage and unsupported integrations.

Who it suits

It suits Java developers and verification workflows using JML contracts, deductive checking, runtime assertions, and self-hosted tooling.

Plans and prices

OpenJML

Free

Open-source command-line tool · OS-specific downloads · IDE extensions require an OpenJML installation

Every plan, in full

On the record

Command line
OpenJML is available as a standalone command-line application for macOS, Linux (Ubuntu), WSL, Cygwin, and Windows CMD.openjml.org · read 9 Oct 2026
IDE integration
The downloads page says OpenJML includes a VS Code extension and offers an Eclipse plugin, both of which require an OpenJML installation.openjml.org · read 9 Oct 2026
IDE support status
The feature status page lists Eclipse, Visual Studio, IntelliJ, and LSP integration as obsolete and unsupported, with future integration planned.openjml.org · read 9 Oct 2026
Language support
The feature status page says Java language elements through Java 7 are generally parsed, typechecked, and compiled in runtime assertion checking, with exceptions and partial support documented.openjml.org · read 9 Oct 2026
License
The OpenJML User Guide states that the command-line tool is licensed under GPL version 2.openjml.org · read 9 Oct 2026
LSP capabilities
The language server supports editor warnings and errors, syntax coloring, go to definition, find references, and document highlights.openjml.org · read 9 Oct 2026
Notable limitation
The feature status page says test suite generation is not yet supported because JMLUnitNG must be ported to Java 21.openjml.org · read 9 Oct 2026
Project development
The About page names David Cok as OpenJML’s principal developer and says the majority of project work has been provided by volunteers.openjml.org · read 9 Oct 2026
Purpose
OpenJML checks whether Java programs annotated with Java Modeling Language specifications satisfy those specifications.openjml.org · read 9 Oct 2026
Security and compliance
The official pages opened describe verification and runtime checking capabilities but do not state a security certification or compliance standard.openjml.org · read 9 Oct 2026
Solver integrations
OpenJML uses SMT solvers as logic checkers, and a selection of supported solvers is bundled with the release.openjml.org · read 9 Oct 2026
Support channel
The About page directs users to GitHub issues for general JML information.openjml.org · read 9 Oct 2026
Verification modes
It provides static deductive verification and runtime assertion checking.openjml.org · read 9 Oct 2026

Alternatives to OpenJML

Every alternative, ranked