raatmarien / pv-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bounded-verification

This is the wlp-based bounded symbolic verification tool by Mark van de Meer, Samuel Klumpers, Philipp Zander and Marien Raat.

Tests

Run the tests with

stack test

Verifying

You can see all the options with:

stack run -- --help

For example to verify memberOf.gcl you can run:

stack run -- --program test/examples/benchmark/memberOf.gcl --n 10 --k 30

This will print Nothing because there is no counter example

To check the mutations, simply add --mutate:

stack run -- --program test/examples/benchmark/memberOf.gcl --n 10 --k 30 --mutate

You can disable the pruning with --disableOptimizations:

stack run -- --program test/examples/benchmark/memberOf.gcl --n 10 --k 30 --disableOptimizations

You can run the benchmarks with the --benchmark option, this generates a csv file with the values, which you can pretify using the included pythons script.

stack run -- --program test/examples/benchmark/memberOf.gcl --n 10 --k 30 --benchmark

Work done

Samuel: Initial implementation of wlp rules, conversion to z3, implement pointers, optionals in paper, contribute to abstract and approach in paper.

Philipp: define data types for ASTs and trees, implement renaming, implement pruning by feasibility, implement pointers, investigate Z3 segmentation fault

Mark: Arrays verification, related works in paper, testing

Marien: Path generation, wlp to z3, arrays verification, benchmarking implementation, implementation in paper, performance section in paper, related works in paper, unit tests

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 98.9%Language:Python 1.1%