Skip to content

A template for larger verification projects with KeY

Notifications You must be signed in to change notification settings

KeYProject/verification-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Folder Proofs is to store your *.proof or .proof.gz files.
  2. Use folder src to store the verification subject.
  3. Use project.key to start the verification
  4. 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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published