Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fliegendewurst/verified-path-algorithms
https://github.com/fliegendewurst/verified-path-algorithms
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/fliegendewurst/verified-path-algorithms
- Owner: FliegendeWurst
- Created: 2023-09-01T07:08:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-01T07:09:59.000Z (over 1 year ago)
- Last Synced: 2024-04-20T08:57:41.871Z (9 months ago)
- Language: Python
- Size: 1.95 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://key-project.org/download). 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`](https://formal.iti.kit.edu/weigl/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
```