OpenJML alternatives and similar libraries
Based on the "Formal Verification" category.
Alternatively, view OpenJML alternatives based on common mentions on social networks and blogs.
Checker Framework5.9 9.8 L1 OpenJML VS Checker FrameworkPluggable type-checking for Java
Daikon3.3 9.3 L1 OpenJML VS DaikonDynamic detection of likely invariants
CATG3.0 0.0 L1 OpenJML VS CATGa concolic testing engine for Java
jCUTE2.9 0.0 L1 OpenJML VS jCUTEJava Concolic Unit Testing Engine
JMLOK 2.02.0 0.0 L2 OpenJML VS JMLOK 2.0Tool for detecting and classifying nonconformances in Java/JML projects.
KrakatoaKrakatoa is a front-end of the Why platform for deductive program verification. Krakatoa deals with Java programs annotated in a variant of the Java Modeling Language (JML).
Java Modeling Language (JML)Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools.
Java Path Finder (JPF)JVM formal verification tool containing a model checker and more. Created by NASA.
KeYThe KeY System is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification.
Write Clean Java Code. Always.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of OpenJML or a related project?
This is the primary repository for the OpenJML project. The active issues list for OpenJML development is here and the wiki contains information relevant to development. Public documentation for users is at the project website. In particular, there is a tutorial, a JML reference manual, an OpenJML Reference Manual, and other resources.
The OpenJML tool is currently up to date with openjdk-17-ga (as of 7 December 2021).
The website for the Java Modeling Language itself is here and discussions about language features and semantics are on the issues list of the JML Reference Manual project.
Releases numbered 0.16.X and following are installed simply by unzipping the downloaded release file into an empty directory of the user's choice.
The release includes the executable file
openjml, which implements OpenJML, the executable
openjml-java, which is a build of Java 17 that incorporates the OpenJML runtime library and can be used to run programs compiled with
openjml to include runtime assertion checks.
On Mac OS, you may need to execute the
mac-setup script so that the Mac security system allows the OpenJML libraries to be executed.
The 0.16.X series of releases do not need a particular version (or any version) of Java installed.
This material is partially based upon work supported by the National Science Foundation under Grant No. ACI-1314674. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.