Extending CoVer's contract language with parameter, alloc, and free operations lets its static and dynamic checkers find invalid parameters and unallocated buffer uses across C and Fortran MPI programs.
Extending Contract Verification for Parallel Programming Models to Fortran
1 Pith paper cite this work. Polarity classification is still indexing.
abstract
High-performance computing often relies on parallel programming models such as MPI for distributed-memory systems. While powerful, these models are prone to subtle programming errors, leading to development of multiple correctness checking tools. However, these are often limited to C/C++ codes, tied to specific library implementations, or restricted to certain error classes. Building on our prior work with CoVer, a generic, contract-based verification framework for parallel programming models, we extend CoVer's applicability to Fortran, enabling static and dynamic analysis across multiple programming languages. We adapted language-specific contract definitions and modified the analyses to support both C/C++ and Fortran programs. Our evaluation demonstrates that the enhanced version preserves CoVer's analysis accuracy and even revealed a bug in the MPI-BugBench testing framework, underscoring the effectiveness of the approach. The Fortran port of CoVer turns out to be substantially more efficient than the state-of-the-art tool MUST, while maintaining generality across languages.
fields
cs.DC 1years
2026 1verdicts
CONDITIONAL 1representative citing papers
citing papers explorer
-
Allocation Tracking and Parameter Checking for Parallel Programming Models using Contracts
Extending CoVer's contract language with parameter, alloc, and free operations lets its static and dynamic checkers find invalid parameters and unallocated buffer uses across C and Fortran MPI programs.