OpenJML alternatives and similar libraries
Based on the "Formal Verification" category.
Alternatively, view OpenJML alternatives based on common mentions on social networks and blogs.
-
Krakatoa
Krakatoa 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. -
KeY
The 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.
SaaSHub - Software Alternatives and Reviews
* 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?
README
OpenJML
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.