Skip to content

OpenJML-SeniorDesign/OpenJML-Quantifiers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenJML-Quantifiers

JML Reference Guide: https://www.cs.ucf.edu/~leavens/JML/jmlrefman/jmlrefman_toc.html

OpenJML

To run our version of OpenJML:

First set up the development enviroment:

mkdir OpenJML && cd OpenJML
git clone -b master-module https://github.com/OpenJML-SeniorDesign/OpenJML.git
git clone -b master-module https://github.com/OpenJML/Specs.git
git clone -b master https://github.com/OpenJML/Solvers.git
git clone -b master https://github.com/OpenJML/JMLAnnotations.git

Then, do a build:

Building JDK

If you need any help building the JDK refer to these links: https://openjdk.java.net/groups/build/doc/building.html https://metebalci.com/blog/custom-openjdk-10-builds-on-ubuntu-16.04/

cd OpenJML/OpenJDKModule
bash ./configure
# Use the line below for WSL
# bash ./configure --with-boot-jdk=/usr/lib/jvm/java-16-openjdk-amd64 --disable-warnings-as-errors --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu
make openjml
make release

Then, to use OpenJML

./OpenJML/OpenJDKModule/release-temp/openjml -esc --prover=z3_4_7 <filename>

SMT Solving

Z3 Solver:

Online Z3 tools:

Resources:

Quantifier Resources: