We propose Separation Logic with Heap Variables (SLHV), an extension of separation logic which introduces explicit heap variables in conjunction with separating conjunction and classical Boolean operations. We provide a decision procedure for the satisfiability of SLHV by reducing to the satisfiability of quantifier-free linear integer arithmetic. We implement a prototype solver for SLHV based on Z3, which, together with the encoding of heap-manipulating C programs as SLHV formulas, gives rise to a new bounded model checker for heap-manipulating C programs. The experimental results show the efficacy of our approach.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Separation Logic with Heap Variables: A Decision Procedure and Its Application

  • Xie Li,
  • Yutian Zhu,
  • Taolue Chen,
  • Fu Song,
  • Zhilin Wu

摘要

We propose Separation Logic with Heap Variables (SLHV), an extension of separation logic which introduces explicit heap variables in conjunction with separating conjunction and classical Boolean operations. We provide a decision procedure for the satisfiability of SLHV by reducing to the satisfiability of quantifier-free linear integer arithmetic. We implement a prototype solver for SLHV based on Z3, which, together with the encoding of heap-manipulating C programs as SLHV formulas, gives rise to a new bounded model checker for heap-manipulating C programs. The experimental results show the efficacy of our approach.