arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2603.03023cs.DC
收藏

并行编程模型中的动态合同分析

Dynamic Contract Analysis for Parallel Programming Models

Technische Unversität Darmstadt(达姆施塔特工业大学)

Yussur Mustafa Oraji, Alexander Hück, Christian Bischof

AI总结:

CoVer-Dynamic通过动态分析扩展,结合静态分析的合同方法,提高了并行编程模型的正确性检查效率和准确性。

摘要:

高性能计算中的并行编程依赖于低级API如MPI,要求用户手动管理同步和资源。尽管存在几种正确性检查工具来帮助开发无bug的代码,但大多数工具仅针对单一编程模型,限制了其适用性。我们的先前工作,静态分析工具CoVer,利用基于合同的方法,使用户能够指定自定义错误检查规则,并支持新兴或非常规的编程模型,而无需大量的新工具。然而,静态分析无法完全推断运行时依赖的行为,如指针别名或间接控制流。为了解决这个问题,我们提出了CoVer-Dynamic,一个动态分析扩展,它重用CoVer的合同语言,提供一个统一的静态-动态验证框架。通过在运行时强制相同的合同,CoVer-Dynamic提高了分类准确性,并在标准的MPI和OpenSHMEM基准上消除了假阳性,同时检测到静态分析无法检测到的错误。我们的评估表明,CoVer-Dynamic在性能上始终优于最先进的正确性检查器MUST,平均速度提高了2倍。最后,我们的结果表明合同语言的表达力有限,激励未来的工作以支持更多的错误类别。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑