Installation
JVerify can currently only be used by building it from source.
Prerequisites
- Java 23. If you have a different default Java version installed, pass
-Dorg.gradle.java.home=path-to-java-23to the gradle commands below. - Java 17. Required by the subprojects library, common, and javac-plugin.
- Lean 4 (via
elan) — needed to build the Strata verification back-end. - cvc5 SMT solver on your
PATH. - z3 SMT solver (v4.15.2 recommended) on your
PATH.
Building
- Check out the JVerify repository and its submodules:
git clone https://github.com/strata-org/jverify.git --recurse-submodules - Navigate to the JVerify repository directory.
- Build the verifier CLI:
./gradlew installDist # macOS / Linux ./gradlew.bat installDist # Windows - Build the Strata back-end. The
stratacommand-line executable lives in theStrataCLIsub-package, so build from there (this also builds theStratalibrary it depends on):cd Strata/StrataCLI && lake build && cd ../.. - Point JVerify at the Strata project directory by setting the
JVERIFY_STRATAenvironment variable:
(or passexport JVERIFY_STRATA=$(pwd)/Strata--strata /path/to/Strataon every JVerify invocation). This is the Strata repository root, not theStrataCLIsub-directory — JVerify locates thestrataexecutable underStrataCLIitself.