OpenJML
6.1#12 in formal verification toolsFree planFree planAPIExtensionLinuxmacOS
Visit| Fact | OpenJML | Why3 |
|---|---|---|
| License | The OpenJML User Guide states that the command-line tool is licensed under GPL version 2. | TryWhy3 is distributed under the GNU Lesser General Public License version 2.1 with a special linking exception. |
| Notable limitation | The feature status page says test suite generation is not yet supported because JMLUnitNG must be ported to Java 21. | Loop invariant inference is described as work in progress, with many features still very limited. |
| Purpose | OpenJML checks whether Java programs annotated with Java Modeling Language specifications satisfy those specifications. | Why3 is a platform for deductive program verification that uses WhyML and external theorem provers to discharge verification conditions. |
OpenJML suits Java developers who annotate programs with JML and want static verification or runtime assertion checking. It is aimed at users comfortable with a self-hosted command-line tool and its installation requirements.
Why3 suits developers and researchers working on deductive verification with contracts and WhyML. It may also fit users who need to connect external provers or use its OCaml API.