Extending Contract Verification for Parallel Programming Models to Fortran
The Fortran port of CoVer is substantially more efficient than the state-of-the-art tool MUST.
Researchers Yussur Mustafa Oraji and Christian Bischof have successfully extended their CoVer verification framework to support the Fortran programming language. CoVer is a generic, contract-based tool designed to catch subtle errors in parallel programming models like MPI, which are critical for high-performance computing (HPC) but notoriously difficult to debug. Previously limited to C/C++, this extension required adapting language-specific contract definitions and modifying the analysis engine to handle both language families, enabling comprehensive static and dynamic verification for a broader range of scientific codes.
The team's evaluation shows the Fortran-enabled CoVer not only preserves the original framework's analysis accuracy but also outperforms the current state-of-the-art tool, MUST, in efficiency. In a significant demonstration of its effectiveness, the tool uncovered a previously unknown bug within the MPI-BugBench testing framework itself—a suite used to validate other MPI correctness tools. This breakthrough highlights CoVer's robustness and its potential to improve software reliability in computationally intensive fields like climate modeling and physics simulations, where Fortran remains prevalent.
This work, submitted to arXiv and slated for publication in Springer's ISC C3PO workshop proceedings, addresses a critical gap in HPC tooling. By providing a unified, efficient, and language-agnostic verification method, it empowers developers to write more reliable parallel code, reducing debugging time and increasing trust in large-scale scientific computations.
- Extended the CoVer framework to support Fortran, enabling contract-based verification for MPI codes in both C/C++ and Fortran.
- Proved more efficient than the leading tool MUST while maintaining generality and accuracy across programming languages.
- Uncovered a new bug in the MPI-BugBench testing framework, validating the tool's effectiveness in real-world scenarios.
Why It Matters
This brings robust error-checking to legacy Fortran HPC codebases, crucial for reliable climate science, physics, and engineering simulations.