Extending Contract Verification for Parallel Programming Models to Fortran
Pith reviewed 2026-05-09 23:01 UTC · model grok-4.3
The pith
A contract-based verification framework for MPI programs has been extended to support Fortran while remaining more efficient than the leading alternative tool.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
By adapting language-specific contract definitions and modifying the analyses, CoVer now supports both C/C++ and Fortran programs for verifying parallel programming models. This preserves the framework's generality and analysis accuracy, reveals a bug in the MPI-BugBench testing framework, and makes the Fortran version substantially more efficient than MUST.
What carries the argument
CoVer, the generic contract-based verification framework for parallel programming models, with extensions to contract definitions and analysis passes for Fortran support.
If this is right
- The tool enables verification of Fortran-based parallel applications without needing separate language-specific checkers.
- Error detection accuracy remains consistent across C/C++ and Fortran, supporting mixed-language projects.
- The approach demonstrates efficiency advantages over specialized tools like MUST for Fortran codes.
- Contract verification can help identify flaws in error-testing benchmarks themselves.
Where Pith is reading between the lines
- If similar adaptations are feasible, the framework could support additional languages used in HPC.
- The efficiency difference may relate to how Fortran compilers or memory models interact with the analysis, suggesting optimization paths.
- Broader adoption could standardize contract use for parallel correctness in scientific computing.
- Validating tools against multiple languages strengthens confidence in benchmark suites like MPI-BugBench.
Load-bearing premise
Adapting the contracts and analyses for Fortran does not reduce the coverage of error classes or introduce new inaccuracies compared to the original C/C++ implementation.
What would settle it
A collection of Fortran MPI programs containing errors that CoVer should detect based on its contracts, but where the tool either misses the errors or reports false positives.
Figures
read the original 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.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper extends the CoVer contract-based verification framework to Fortran by adapting language-specific contract definitions and modifying the static and dynamic analyses to handle both C/C++ and Fortran programs using parallel models such as MPI. The evaluation asserts that the enhanced tool preserves the original analysis accuracy, discovers a bug in the MPI-BugBench framework, and achieves substantially higher efficiency than the state-of-the-art MUST tool while retaining cross-language generality.
Significance. If the accuracy-preservation claim holds under rigorous cross-language testing, the work would meaningfully broaden the reach of generic contract-based verification to Fortran-heavy HPC codes, where existing tools are often C/C++-only. The reported efficiency edge over MUST and the incidental bug discovery would strengthen the case for language-agnostic contract approaches in distributed-memory correctness checking.
major comments (2)
- Evaluation section: the central claim that language-specific adaptations 'preserve CoVer's analysis accuracy' lacks supporting evidence such as an enumeration of modified contract rules for Fortran array semantics and argument passing, or side-by-side detection results on matched MPI error patterns across languages; without this, it is impossible to confirm that error-class coverage and false-positive/negative rates remain unchanged.
- Evaluation section: quantitative performance claims (substantially more efficient than MUST) are presented without full methodology details, error bars, or raw timing data, undermining assessment of the efficiency result that is highlighted in the abstract.
minor comments (2)
- The manuscript would benefit from explicit discussion of Fortran-specific edge cases (e.g., assumed-shape arrays, I/O statements) that could affect dynamic contract insertion or static analysis soundness.
- Abstract and evaluation: the bug discovery in MPI-BugBench is noted but not described in sufficient detail to allow readers to reproduce or understand its relation to the Fortran port.
Simulated Author's Rebuttal
We thank the referee for the constructive feedback on our manuscript. We address each major comment below and describe the changes we will make in the revised version.
read point-by-point responses
-
Referee: Evaluation section: the central claim that language-specific adaptations 'preserve CoVer's analysis accuracy' lacks supporting evidence such as an enumeration of modified contract rules for Fortran array semantics and argument passing, or side-by-side detection results on matched MPI error patterns across languages; without this, it is impossible to confirm that error-class coverage and false-positive/negative rates remain unchanged.
Authors: We agree that additional explicit evidence is needed to substantiate the accuracy-preservation claim. In the revised manuscript we will add a dedicated subsection enumerating the principal modifications to the contract rules required for Fortran array semantics and argument-passing conventions. We will also include a side-by-side comparison table showing detection outcomes for a representative set of MPI error patterns executed in both C/C++ and Fortran, thereby documenting that error-class coverage and false-positive/negative rates are unchanged. The incidental discovery of a bug in MPI-BugBench when exercising the Fortran port supplies further empirical support for cross-language consistency. revision: yes
-
Referee: Evaluation section: quantitative performance claims (substantially more efficient than MUST) are presented without full methodology details, error bars, or raw timing data, undermining assessment of the efficiency result that is highlighted in the abstract.
Authors: We accept that the performance results would be more convincing with fuller methodological transparency. In the revision we will expand the experimental-setup description to include hardware specifications, the number of repetitions performed, and the precise measurement procedure. Where multiple runs were executed we will report error bars; otherwise we will state the single-run nature of the measurements. Raw timing data for all benchmarks will be provided in an appendix or as supplementary material so that readers can independently assess the reported efficiency advantage over MUST. revision: yes
Circularity Check
No circularity: claims rest on implementation adaptations and independent evaluation
full rationale
The paper describes concrete language-specific adaptations to contract definitions and analyses to support Fortran alongside C/C++, then reports empirical results from running the extended CoVer on test suites, direct efficiency comparison to MUST, and discovery of a bug in MPI-BugBench. No derivation chain, fitted parameters, or self-referential equations are present; the accuracy-preservation claim is tied to the evaluation rather than to any prior CoVer result by construction. The single self-citation to the authors' earlier CoVer work supplies only the base framework and is not load-bearing for the Fortran-extension claims, which remain externally falsifiable via the reported experiments.
Axiom & Free-Parameter Ledger
axioms (1)
- domain assumption Contract definitions can be adapted per language without loss of verification power for parallel error classes
Reference graph
Works this paper leans on
-
[1]
Compiler directives supported by Flang — The Flang Compiler,https://flang. llvm.org/docs/Directives.html
-
[2]
The LLVM Project,https://llvm.org/
-
[3]
In: Recent Advances in the Message Passing Interface
Burak, S., Ivanov, I.R., Domke, J., Müller, M.: SPMD IR: Unifying SPMD and Multi-value IR Showcased for Static Verification of Collectives. In: Recent Advances in the Message Passing Interface. pp. 3–20. Springer (2025).https: //doi.org/10.1007/978-3-031-73370-3_1
-
[4]
Droste, A., Kuhn, M., Ludwig, T.: MPI-checker: Static analysis for MPI. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC. pp. 1–10. LLVM ’15, Association for Computing Machinery (Nov 2015). https://doi.org/10.1145/2833157.2833159
-
[5]
In: Tools for High Per- formance Computing 2009
Hilbrich, T., Schulz, M., de Supinski, B.R., Müller, M.S.: MUST: A Scalable Ap- proach to Runtime Error Detection in MPI Programs. In: Tools for High Per- formance Computing 2009. pp. 53–66. Springer (2010).https://doi.org/10.1007/ 978-3-642-11261-4_5
work page 2009
-
[6]
Jammer, T., Saillard, E., Schwitanski, S., Jenke, J., Vinayagame, R., Hück, A., Bischof,C.:MPI-BugBench:AFrameworkforAssessingMPICorrectnessTools.In: Recent Advances in the Message Passing Interface. pp. 121–137. Springer (2025). https://doi.org/10.1007/978-3-031-73370-3_8 12 Y. Oraji et al
-
[7]
Legate numpy: Accelerated and distributed array computing,
Laguna, I., Marshall, R., Mohror, K., Ruefenacht, M., Skjellum, A., Sultana, N.: A large-scale study of MPI usage in open-source HPC applications. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. pp. 1–14. SC ’19, Association for Computing Machinery, New York, NY, USA (Nov 2019).https://doi....
-
[8]
Lattner, C., Adve, V.: Data Structure Analysis: A Fast and Scalable Context- Sensitive Heap Analysis
-
[9]
Luecke, G., Chen, H., Coyle, J., Hoekstra, J., Kraeva, M., Zou, Y.: MPI-CHECK: A tool for checking Fortran 90 MPI programs. Concurrency and Computation: Practice and Experience15(2), 93–100 (2003).https://doi.org/10.1002/cpe.705
-
[10]
Message Passing Interface Forum: MPI: A Message-Passing Interface Standard Version 5.0 (2025),https://www.mpi-forum.org/docs/mpi-5.0/mpi50-report.pdf
work page 2025
-
[11]
Norman,M.R.:miniWeather.OakRidgeNationalLaboratory(ORNL),OakRidge, TN (United States) (Mar 2020).https://doi.org/10.11578/dc.20201001.88
-
[12]
NVIDIA: NVIDIA Collective Communication Library (NCCL) Documentation (2025),https://docs.nvidia.com/deeplearning/nccl/
work page 2025
-
[13]
OpenSHMEM Committee: OpenSHMEM: Application Programming Inter- face Version 1.5 (2020),http://openshmem.org/site/sites/default/site_files/ OpenSHMEM-1.5.pdf
work page 2020
-
[14]
Oraji, Y.M.: Artifact for ’Extending Contract Verification for Parallel Program- ming Models to Fortran’.https://doi.org/10.5281/zenodo.18679755
-
[15]
Oraji, Y.M.: Fix unmatched wait for correct request-based rma (!28)·Merge requests·High Performance Computing - Public / MPI-BugBench·GitLab (Jan 2026),https://git-ce.rwth-aachen.de/hpc-public/mpi-bugbench/-/merge_ requests/28
work page 2026
-
[16]
Oraji, Y.M., Hück, A., Bischof, C.: Extending MPI Correctness Benchmarking to theFortranLanguage.In:ProceedingsoftheSC’25WorkshopsoftheInternational Conference for High Performance Computing, Networking, Storage and Analysis. pp. 244–248. SC Workshops ’25, Association for Computing Machinery (Nov 2025). https://doi.org/10.1145/3731599.3767366
-
[17]
Oraji, Y.M., Hück, A., Bischof, C.: Dynamic Contract Analysis for Parallel Pro- gramming Models (preprint, peer-reviewed article to appear in IPDPS HIPS 2026 workshop proceedings) (Mar 2026).https://doi.org/10.48550/arXiv.2603.03023
-
[18]
Oraji, Y.M., Schwitanski, S., Burak, S., Bischof, C., Müller, M.: Coupling Static and Dynamic MPI Correctness Tools to Optimize Accuracy and Overhead. In: Pro- ceedings of the SC ’25 Workshops of the International Conference for High Perfor- mance Computing, Networking, Storage and Analysis. pp. 188–197. SC Workshops ’25, Association for Computing Machine...
-
[19]
In: Recent Advances in the Message Passing Interface
Oraji, Y.M., Schwitanski, S., Hück, A., Jenke, J., Kreutzer, S., Bischof, C.: Veri- fying MPI API Usage Requirements with Contracts. In: Recent Advances in the Message Passing Interface. pp. 54–72. Springer (2026).https://doi.org/10.1007/ 978-3-032-07194-1_4
work page 2026
-
[20]
The International Jour- nal of High Performance Computing Applications28(4), 425–434 (Nov 2014)
Saillard, E., Carribault, P., Barthou, D.: PARCOACH: Combining static and dynamic validation of MPI collective communications. The International Jour- nal of High Performance Computing Applications28(4), 425–434 (Nov 2014). https://doi.org/10.1177/1094342014552204
-
[21]
Jigsaw: Accelerating spmm with vector sparsity on sparse tensor core,
Schwitanski, S., Oraji, Y.M., Pätzold, C., Jenke, J., Tomski, F., Müller, M.S.: RMASanitizer: Generalized Runtime Detection of Data Races in Remote Mem- ory Access Applications. In: Proceedings of the 53rd International Conference on Extending Contract Verification for Parallel Programming Models to Fortran 13 Parallel Processing. pp. 833–844. ICPP ’24, A...
-
[22]
Available: http://doi.acm.org/10.1145/2892208.2892235
Sui, Y., Xue, J.: SVF: Interprocedural static value-flow analysis in LLVM. In: Proceedings of the 25th International Conference on Compiler Construction. pp. 265–266. CC ’16, Association for Computing Machinery (Mar 2016).https://doi. org/10.1145/2892208.2892235
-
[23]
In: 2014 IEEE High Performance Extreme Computing Conference (HPEC)
Van der Wijngaart, R.F., Mattson, T.G.: The Parallel Research Kernels. In: 2014 IEEE High Performance Extreme Computing Conference (HPEC). pp. 1–6 (Sep 2014).https://doi.org/10.1109/HPEC.2014.7040972
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.