当前位置: X-MOL 学术J. Autom. Reason. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
Journal of Automated Reasoning ( IF 0.9 ) Pub Date : 2019-08-09 , DOI: 10.1007/s10817-019-09532-0
Gadi Tellez , James Brotherston

In this article, we investigate the automated verification of temporal properties of heap-aware programs. We propose a deductive reasoning approach based on cyclic proof . Judgements in our proof system assert that a program has a certain temporal property over memory state assertions, written in separation logic with user-defined inductive predicates, while the proof rules of the system unfold temporal modalities and predicate definitions as well as symbolically executing programs. Cyclic proofs in our system are, as usual, finite proof graphs subject to a natural, decidable soundness condition, encoding a form of proof by infinite descent. We present a proof system tailored to proving CTL properties of nondeterministic pointer programs, and then adapt this system to handle fair execution conditions. We show both versions of the system to be sound, and provide an implementation of each in the Cyclist theorem prover, yielding an automated tool that is capable of automatically discovering proofs of (fair) temporal properties of pointer programs. Experimental evaluation of our tool indicates that our approach is viable, and offers an interesting alternative to traditional model checking techniques.

中文翻译:

用循环证明自动验证指针程序的时间属性

在本文中,我们研究了堆感知程序的时间属性的自动验证。我们提出了一种基于循环证明的演绎推理方法。我们的证明系统中的判断断言,程序对内存状态断言具有一定的时间属性,用用户定义的归纳谓词用分离逻辑编写,而系统的证明规则展开时间模态和谓词定义以及象征性地执行程序。像往常一样,我们系统中的循环证明是有限证明图,受自然的、可判定的健全性条件约束,通过无限下降对证明形式进行编码。我们提出了一个证明系统,用于证明非确定性指针程序的 CTL 属性,然后调整该系统以处理公平执行条件。我们展示了系统的两个版本都是合理的,并在 Cyclist 定理证明器中提供了每个版本的实现,产生了一个自动化工具,能够自动发现指针程序的(公平)时间属性的证明。我们工具的实验评估表明我们的方法是可行的,并提供了传统模型检查技术的有趣替代方案。
更新日期:2019-08-09
down
wechat
bug