当前位置: X-MOL 学术arXiv.cs.LO › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL
arXiv - CS - Logic in Computer Science Pub Date : 2020-04-06 , DOI: arxiv-2004.02983
Sadegh Dalvandi, Brijesh Dongol, and Simon Doherty

Weak memory presents a new challenge for program verification and has resulted in the development of a variety of specialised logics. For C11-style memory models, our previous work has shown that it is possible to extend Hoare logic and Owicki-Gries reasoning to verify correctness of weak memory programs. The technique introduces a set of high-level assertions over C11 states together with a set of basic Hoare-style axioms over atomic weak memory statements (e.g., reads/writes), but retains all other standard proof obligations for compound statements. This paper takes this line of work further by showing Nipkow and Nieto's encoding of Owicki-Gries in the Isabelle theorem prover can be extended to handle C11-style weak memory models in a straightforward manner. We exemplify our techniques over several litmus tests from the literature and a non-trivial example: Peterson's algorithm adapted for C11. For the examples we consider, the proof outlines can be automatically discharged using the existing Isabelle tactics developed by Nipkow and Nieto. The benefit here is that programs can be written using a familiar pseudocode syntax with assertions embedded directly into the program.

中文翻译:

将用于 C11 型内存模型的 Owicki-Gries 集成到 Isabelle/HOL 中

弱内存对程序验证提出了新的挑战,并导致了各种专用逻辑的发展。对于 C11 类型的内存模型,我们之前的工作表明,可以扩展 Hoare 逻辑和 Owicki-Gries 推理来验证弱内存程序的正确性。该技术引入了一组关于 C11 状态的高级断言以及一组关于原子弱内存语句(例如,读/写)的基本 Hoare 式公理,但保留了复合语句的所有其他标准证明义务。本文通过展示 Nipkow 和 Nieto 在 Isabelle 定理证明器中对 Owicki-Gries 的编码进一步推进了这一工作,证明器可以扩展为以直接的方式处理 C11 风格的弱内存模型。我们通过文献中的几个石蕊测试和一个不平凡的例子来举例说明我们的技术:适用于 C11 的彼得森算法。对于我们考虑的示例,可以使用 Nipkow 和 Nieto 开发的现有 Isabelle 策略自动释放证明大纲。这里的好处是可以使用熟悉的伪代码语法编写程序,并将断言直接嵌入到程序中。
更新日期:2020-04-10
down
wechat
bug