Skip to main navigation Skip to search Skip to main content

Verify heaps via unified model checking

  • Xu Lu
  • , Zhenhua Duan*
  • , Cong Tian
  • , Hongwei Du
  • *Corresponding author for this work
  • State Key Laboratory of Integrated Services Networks
  • Harbin Institute of Technology Shenzhen

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)35-49
Number of pages15
JournalTheoretical Computer Science
Volume819
DOIs
StatePublished - 2 Jun 2020
Externally publishedYes

Keywords

  • Heap verification
  • MSVL
  • Model checking
  • PPTL
  • Separation logic

Fingerprint

Dive into the research topics of 'Verify heaps via unified model checking'. Together they form a unique fingerprint.

Cite this