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

移动逻辑:一种用于归约和依赖-保证推理的并发程序逻辑(扩展版)

Mover Logic: A Concurrent Program Logic for Reduction and Rely-Guarantee Reasoning (Extended Version)

University of California, Santa Cruz(加利福尼亚大学圣克鲁兹分校);Williams College(威廉姆斯学院)

Cormac Flanagan, Stephen N. Freund

AI总结:

研究多线程软件正确性推理中RG逻辑函数规范难复用问题,提出移动逻辑,通过原子函数概念扩展RG逻辑,避免稳定化要求,实用验证器已证其优势,移动逻辑为该领域未来工作奠定基础。

摘要:

依赖-保证(RG)逻辑使用线程干扰规范(依赖和保证)来推理多线程软件的正确性。不幸的是,RG逻辑要求每个函数后置条件“稳定化”或专门针对其他线程的行为,这使得编写可在多个调用点复用的函数规范变得困难。本文提出了移动逻辑,它通过原子函数的概念扩展RG逻辑来解决此问题。原子函数的行为就好像它们是串行执行而不受并发线程干扰,因此可以被赋予更通用且可复用的规范,避免了RG逻辑的稳定化要求。几个实用验证器(Calvin-R、QED、CIVL、Armada、Anchor等)已证明了原子函数规范的模块化优势。然而,这些系统的复杂性及其正确性证明使得理解和扩展这些系统具有挑战性。移动逻辑在声明式程序逻辑中形式化了归约的核心思想,为该领域的未来工作提供了基础。

英文摘要:

Rely-guarantee (RG) logic uses thread interference specifications (relies and guarantees) to reason about the correctness of multithreaded software. Unfortunately, RG logic requires each function postcondition to be "stabilized" or specialized to the behavior of other threads, making it difficult to write function specifications that are reusable at multiple call sites. This paper presents mover logic, which extends RG logic to address this problem via the notion of atomic functions. Atomic functions behave as if they execute serially without interference from concurrent threads, and so they can be assigned more general and reusable specifications that avoid the stabilization requirement of RG logic. Several practical verifiers (Calvin-R, QED, CIVL, Armada, Anchor, etc.) have demonstrated the modularity benefits of atomic function specifications. However, the complexity of these systems and their correctness proofs makes it challenging to understand and extend these systems. Mover logic formalizes the central ideas of reduction in a declarative program logic that provides a foundation for future work in this area.

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

↑