当前位置: X-MOL 学术Theor. Comput. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Verify heaps via unified model checking
Theoretical Computer Science ( IF 1.1 ) Pub Date : 2018-04-02 , DOI: 10.1016/j.tcs.2017.09.025
Xu Lu , Zhenhua Duan , Cong Tian , Hongwei Du

This paper addresses the problem of verifying heap evolution properties of pointer programs. To this end, a new unified model checking approach with MSVL (Modeling, Simulation and Verification Language) and PPTLSL is presented. The former is an executable subset of PTL (Projection Temporal Logic) while the latter is an extension of PPTL (Propositional Projection Temporal Logic) with separation logic. MSVL is used to model pointer programs, and PPTLSL to specify heap evolution properties. Technically, on one hand, models of MSVL programs are characterized by Normal Form Graphs (NFGs). On the other hand, PPTLSL is equisatisfiably reduced to its subset which can reuse the decision procedure of PPTL. Our technique is able to deal with a variety of pointer structures such as linked lists and composite structures. In addition, we implement a prototype tool by using an SMT solver as the verification engine in order to demonstrate our approach.



中文翻译:

通过统一模型检查验证堆

本文解决了验证指针程序的堆演化属性的问题。为此,提出了一种新的使用MSVL(建模,仿真和验证语言)和PPTL SL的统一模型检查方法。前者是PTL(投影时间逻辑)的可执行子集,而后者是具有分隔逻辑的PPTL(命题投影时间逻辑)的扩展。MSVL用于建模指针程序,而PPTL SL用于指定堆演化属性。从技术上讲,一方面,MSVL程序的模型以范式图(NFG)为特征。另一方面,PPTL SL被合理地简化为可以重用PPTL决策程序的子集。我们的技术能够处理各种指针结构,例如链表和复合结构。另外,我们通过使用SMT求解器作为验证引擎来实现原型工具,以演示我们的方法。

更新日期:2018-04-02
down
wechat
bug