paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Proving Correctness of Parallel Implementations of Transition System Models

证明转移系统模型的并行实现正确性
TOPLAS 46(3)2024匹配度 3/10 · 论文属于程序验证与并发形式化方法,涉及转移系统、模拟关系与 actor/active object,但与用户核心方向(LLM/Agent 与静态分析/形式化验证的交叉、浮点程序分析、贝叶斯程序分析)基本无关,也未涉及 AI/LLM 工具或工业落地。引用 1 inbox
Frank de Boer, Einar Broch Johnsen, Violet Ka I Pun, Silvia Lizeth Tapia Tarifa
crossref: 2026-09-10

AI 速览

一句话:提出基于模拟关系的方法,证明 actor/active object 并行实现相对于转移系统规范的正确性。

本文研究描述并行执行进程系统的程序正确性问题,即如何证明并行实现符合以转移系统表达的高层模型。作者提出一种新的正确性证明方法,其实现语言基于 actor 和 active object 并发模型。方法将程序正确性定义为两个转移系统之间的模拟关系:一个给出并行程序的程序语义,另一个由正确性规范描述。该模拟关系利用实现语言并发模型的全局合流性(confluence),从而抽象掉并行进程的细粒度交错。作为概念验证,作者将该方法应用于多核内存系统的并行模拟器,证明其正确性,展示了方法在复杂并行实现验证中的可行性。

问题
如何证明描述并行执行进程系统的程序相对于高层转移系统模型规范的正确性,同时避免直接处理并行进程细粒度交错带来的复杂性。
方法
提出基于 actor 和 active object 并发模型的证明方法,将正确性定义为实现语义转移系统与规范转移系统之间的模拟关系,并利用全局合流性抽象并行交错。
评估
以多核内存系统的并行模拟器为案例进行概念验证,展示该方法可用于证明实际并行实现的正确性。
原文摘要(Abstract)

This article addresses the long-standing problem of program correctness for programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level models expressed as transition systems. The implementation language underlying the method is based on the concurrency model of actors and active objects. The method defines program correctness in terms of a simulation relation between the transition system that specifies the program semantics of the parallel program and the transition system that is described by the correctness specification. The simulation relation itself abstracts from the fine-grained interleaving of parallel processes by exploiting a global confluence property of the concurrency model of the implementation language considered in this article. As a proof of concept, we apply our method to the correctness of a parallel simulator of multicore memory systems.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2672,
  title = {Proving Correctness of Parallel Implementations of Transition System Models},
  author = {Frank de Boer and Einar Broch Johnsen and Violet Ka I Pun and Silvia Lizeth Tapia Tarifa},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {46},
  number = {3},
  year = {2024},
  doi = {10.1145/3660630}
}