Skip to content

Allocation Tracking and Parameter Checking for Parallel Programming Models using Contracts

Jul 2026 · arXiv.org · Vol abs/2607.29303 · 0 citations · 21 references
Computer Science

TL;DR

An extension to the CoVer contract language designed to capture and check a broader range of error classes and introduce generic parameter checking and allocation tracking, while keeping generality across both programming model and language is presented.

Abstract

Correctness checking tools for High-Performance Computing programs are typically limited to specific parallel programming models such as MPI or OpenSHMEM. The CoVer framework previously addressed this by introducing a generic, contract-based approach that decoupled API requirements from the core tool. However, CoVer's effectiveness remains bounded by the expressiveness of its underlying contract language, restricting the types of errors it can verify. This paper presents an extension to the CoVer contract language designed to capture and check a broader range of error classes. Our extensions introduce generic parameter checking and allocation tracking, while keeping generality across both programming model and language. We evaluate these extensions and demonstrate that analysis accuracy remains consistent across multiple languages, reinforcing the framework's general applicability. While the additional runtime analyses naturally incur a performance overhead, these improvements greatly enhance CoVer's utility with a significant accuracy improvement.

View source

Similar papers

Preprint Sep 2026

Pack Iteration in Swift: Ordinary Control Flow for Variadic Generics

Variadic generics are a powerful tool for type-safe meta-programming. Yet in most widely used languages, they remain an"expert-only"feature due to their reliance on complex patterns such as recursive decomposition or expansion expressions that do not compose naturally with ordinary control flow. In C++, for example, ac...

S. Nerush, Eitan Frachtenberg · 0 citations
Preprint Aug 2026

Can Formal Specifications Be Synthesized from Tests Alone?

This approach uses LLMs to infer candidate specifications solely from test code and dynamic execution traces: the LLM observes only the program interface, selected inputs, and corresponding outputs or state changes, while the implementation internals remain hidden.

Tian-Hai Liu, Maximilian Müller, Tobias Hey et al. · 0 citations
Preprint Aug 2026

Accelerating C/C++ Pointer Analysis via Compiler-Based Offline Simplifications

This paper explores a new perspective: applying semantic-preserving compiler optimizations directly to intermediate representation (IR) before pointer analysis, which is modular, analysis-agnostic, and easily integrates with existing tools.

Zinan Gu, Pei-Sen Yao, Kui Ren · 0 citations
Preprint Aug 2026

Inferring Empirical Sound Resource Bounds via Symbolic Execution and Linear Programming (Extended Version)

Existing approaches to resource analysis of programs can be classified into two main paradigms: static analysis and dynamic analysis methods. The former allow for formal guarantees but are inherently incomplete; the latter are widely applicable but may miss rare but characteristic (worst-case) scenarios and thus lack s...

Samuel Frontull, M. Meitinger, Georg Moser · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.