CoVer is an extensible contract verification framework for parallel programming models. Currently, the tool ships configurations for MPI and OpenSHMEM. Further models may be added by adding suitable contract declarations.
See Usage
- LLVM 18 or newer
- Java (Build dependency only)
Optionally:
- ANTLR4 (provided if not installed)
- MPI (for premade headers)
- If OpenMPI with OpenSHMEM support is used, premade OpenSHMEM headers are generated as well.
- Python (for premade headers)
Use CMake to build this project locally. Alternatively, the Docker file provides a known working environment for testing.
| Reference | Additional Info |
|---|---|
| Verifying MPI API Usage Requirements with Contracts | First CoVer Publication |
| Coupling Static and Dynamic MPI Correctness Tools to Optimize Accuracy and Overhead | Corresponds to PR 1 |