Skip to main content
QUICK REVIEW

[论文解读] Concurrent Kleene Algebra of Partial Strings

Alex Horn, Jade Alglave|arXiv (Cornell University)|Jul 1, 2014
Logic, programming, and type systems参考文献 15被引用 5
一句话总结

本论文通过将Gischer的pomset模型扩展为最小不动点算子,并引入Ésik的单调双射同态,构建了并发Kleene代数(CKA)的偏序模型,实现了对带循环的并发程序的符号化精化检查。核心贡献在于提出了一种形式化模型,通过基于部分字符串和向下封闭集合的指称语义,支持对程序性质的证明与反证,尤其适用于弱内存模型系统。

ABSTRACT

Concurrent Kleene Algebra (CKA) is a recently proposed algebraic structure by Hoare and collaborators that unifies the laws of concurrent programming. The unifying power of CKA rests largely on the so-called exchange law that describes how concurrent and sequential composition operators can be interchanged. Based on extensive theoretical work on true concurrency in the past, this paper extends Gischer's pomset model with least fixed point operators and formalizes the program refinement relation by Ésik's monotonic bijective morphisms to construct a partial order model of CKA. The existence of such a model is relevant when we want to prove and disprove properties about concurrent programs with loops. In particular, it gives a foundation for the analysis of programs that concurrently access relaxed memory as shown in subsequent work.

研究动机与目标

  • 为并发Kleene代数(CKA)提供一种指称模型,支持程序性质的证明与反证。
  • 将Gischer的pomset模型扩展为最小不动点算子,以建模并发程序中的循环。
  • 使用Ésik的单调双射同态替代同构类,更准确地将交换律表达为不等式。
  • 通过基于SMT的精化检查,实现对具有弱内存行为的并发程序的符号化验证。
  • 形式化构造一个满足CKA公理(包括交换律和通过最小不动点定义的Kleene星算子)的完整格模型。

提出的方法

  • 基于Ésik的单调双射同态,将Gischer的pomset模型扩展为部分字符串,作为等价性与精化的基础。
  • 将顺序与并发复合定义为向下封闭的部分字符串集合上的余积,独立于同构类代表。
  • 构建一个以子集包含关系为序的程序完整格,其并运算为非确定性选择(并集),顶/底元素分别为1和0。
  • 为顺序与并发复合分别引入Kleene星算子作为最小不动点:$\mathcal{P}^{;} = \mu\mathcal{X}.1 \cup (\mathcal{P};\mathcal{X})$ 与 $\mathcal{P}^{\parallel} = \mu\mathcal{X}.1 \cup (\mathcal{P}\parallel\mathcal{X})$。
  • 证明所得结构满足所有CKA公理,包括交换律:$(\mathcal{U}\parallel\mathcal{V});(\mathcal{X}\parallel\mathcal{Y}) \subseteq (\mathcal{U};\mathcal{X})\parallel(\mathcal{V};\mathcal{Y})$。
  • 将该模型作为后续基于SMT的弱内存模型下并发程序精化检查的基础。

实验结果

研究问题

  • RQ1如何构建一个支持程序性质证明与反证的CKA指称模型?
  • RQ2基于单调双射同态的部分字符串能否充分建模交换律为不等式而非同构?
  • RQ3如何将最小不动点算子形式化地整合进基于pomset的并发模型中?
  • RQ4向下封闭的部分字符串集合在构建程序代数的完整格模型中起什么作用?
  • RQ5该模型如何支持具有弱内存行为的并发程序的符号化精化检查?

主要发现

  • 所构造的模型满足并发Kleene代数的所有公理,包括交换律及复合对非确定性选择的分配律。
  • 程序代数在子集包含关系下构成完整格,其上确界为并集,0为底元素。
  • 顺序与并发复合的Kleene星算子在完整格上被正确建模为最小不动点。
  • 使用单调双射同态使模型比基于同构的方法更具表达力且算法更易处理。
  • 该模型为使用SMT求解器对并发程序(尤其是弱内存系统)进行符号化精化检查提供了基础。
  • 该构造表明,结合向下封闭集合与Ésik同态的部分字符串,可为带循环的CKA提供一个可靠且完备的语义。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。