Verification condition generation for permission logics with abstract predicates and abstraction functions

ECOOP 2013 - OBJECT-ORIENTED PROGRAMMING(2013)

引用 41|浏览1
暂无评分
摘要
Abstract predicates are the primary abstraction mechanism for program logics based on access permissions, such as separation logic and implicit dynamic frames. In addition to abstract predicates, it is useful to also support classical abstraction functions, for instance, to encode side-effect-free methods of the program and use them in specifications. However, combining abstract predicates and abstraction functions in a verification condition generator leads to subtle interactions, which complicate reasoning about heap modifications. Such complications may compromise soundness or cause divergence of the prover in the context of automated verification. In this paper, we present an encoding of abstract predicates and abstraction functions in the verification condition generator Boogie. Our encoding is sound and handles recursion in a way that is suitable for automatic verification using SMT solvers. It is implemented in the automatic verifier Chalice.
更多
查看译文
关键词
permission logic,automatic verification,smt solvers,verification condition generator,primary abstraction mechanism,automated verification,abstraction function,classical abstraction function,abstract predicate,verification condition generation,automatic verifier,verification condition generator boogie
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要