CAV 2021 Artifact: Pono Model Checker
This is an artifact for the tool paper “Pono: a Flexible and Extensible SMT-based Model Checker" at Computer Aided Verification (CAV) 2021.
The artifact uses Docker (https://www.docker.com) and allows:
1) processing the raw data to reproduce the tables in the experimental results of the paper;
2) building and running a small C++ example of the Pono API, as well as the same example using the Python bindings;
3) running the case study with inductive datatypes which uses Pono to find term rewritings in generalized algebraic theories;
4) running any of the solver/benchmark pairs shown in the paper experiments (it would take too long to run them all, but you can run any individual one you’d like).
5) running all experiments for a given solver and benchmark set. This is not recommended except with low timeouts due to the long runtime when running sequentially.
Please see the README for detailed instructions.
Updates in Version 5:
Thank you to the artifact reviewers for pointing out a couple issues. Version 5 makes two fixes:
1. A small change to the script for running experiments to handle empty options (this fixes the freqhorn experiments).
2. Removes all the `._*` binary files that were created by Finder in MacOS. These caused problems for reproducing experiments, because on Linux those files were passed as benchmarks to the solvers.