You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A template for larger Java verification projects with KeY Theorem Prover
This repository is a template for serious verification attempts of
Java source code with the KeY Theorem Prover. You should use it when
you are planning a larger case study.
Currently this template bundles KeY 2.10.0 and ci-tool 1.4.0. Both are
licensed under GPL.
Features and Best Practices
Store the version of KeY along with your proof and source files.
Proof reloading is very sensitive accross of KeY versions and
artifact changes. KeY 2.10.0 is checked into this bundle!
You can change the bundled KeY version by dropping in a new UberJar,
that are provided on the download
page. Please also change the path
in the Makefile if necessary.
Use an own KeY-file (project.key). This gives you flexibility to
add own taclets or options.
Organise your files and keep things separated. If you investigate
multiple separated Java sources, you should store them in separated
directories. KeY always loads complete source folders and never
single Java files. Separation helps to keep (re-)loading times small.
This template provides a Github workflow for continous proofability
checking. For more options, consider the documentation of the
ci-tool
File Overview
Folder Proofs is to store your *.proof or .proof.gz files.
Use folder src to store the verification subject.
Use project.key to start the verification
The Makefile allows you to run the KeY GUI and the ci-tool.
Getting Started
To check the provability and compilability with:
$ make check
Start the KeY GUI using your project.key with
$ make run
About
A template for larger verification projects with KeY