Dynamic Contract Analysis for Parallel Programming Models

📅 2026-03-03
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work proposes CoVer-Dynamic, a novel approach that unifies contract-based verification across both static and dynamic analysis for parallel programs—a first in the field. Existing verification tools are often restricted to a single parallel programming model and struggle with runtime dependencies such as pointer aliasing and indirect control flow, which static analysis alone cannot reliably resolve. CoVer-Dynamic extends the static verifier CoVer by reusing its contract language at runtime to support multiple parallel models, including MPI and OpenSHMEM. This integration substantially reduces false positives inherent in purely static methods and enhances the detection of genuine runtime errors. Empirical evaluation on standard benchmarks demonstrates that CoVer-Dynamic achieves, on average, a 2× speedup over the state-of-the-art tool MUST while uncovering additional real-world bugs.

Technology Category

Application Category

📝 Abstract
Parallel programming in high-performance computing depends on low-level APIs such as MPI, requiring users to manage synchronization and resources manually. Several correctness checking tools exist to help bug-free code development, though most target a single programming model, limiting their applicability. Our previous work, the static analysis tool CoVer, leverages a contract-based approach enabling users to specify custom error-checking rules and support emerging or unconventional programming models without requiring extensive new tooling. However, static analysis cannot fully reason about runtime-dependent behavior such as pointer aliasing or indirect control flow. To address this, we present CoVer-Dynamic, a dynamic analysis extension that reuses CoVer's contract language to provide a unified static-dynamic verification framework. By enforcing the same contracts at runtime, CoVer-Dynamic improves classification accuracy and eliminates false positives on standardized MPI and OpenSHMEM benchmarks, while detecting errors beyond static analysis only. Our evaluation shows that CoVer-Dynamic consistently outperforms the state-of-the-art correctness checker MUST, averaging a 2x speedup. Finally, our results show limitations in the expressiveness of the contract language, motivating future work to support more error classes.
Problem

Research questions and friction points this paper is trying to address.

parallel programming
correctness checking
static analysis
dynamic analysis
contract-based verification
Innovation

Methods, ideas, or system contributions that make the work stand out.

dynamic analysis
contract-based verification
parallel programming models
static-dynamic framework
correctness checking
🔎 Similar Papers
No similar papers found.
Y
Yussur Mustafa Oraji
Institute for Scientific Computing, Technische Universität Darmstadt
A
Alexander Hück
Institute for Scientific Computing, Technische Universität Darmstadt
Christian Bischof
Christian Bischof
Professor of Computer Science, Technische Universität Darmstadt
High-Performance ComputingAlgorithms and Tools