Extending PPTL for Verifying Heap Evolution Properties

In this paper, we integrate separation logic with Propositional Projection Temporal Logic (PPTL) to obtain a two-dimensional logic, namely PPTL$^{\tiny\mbox{SL}}$. The spatial dimension is realized by a decidable fragment of separation logic which can be used to describe linked lists, and the temporal dimension is expressed by PPTL. We show that PPTL and PPTL$^{\tiny\mbox{SL}}$ are closely related in their syntax structures. That is, for any PPTL$^{\tiny\mbox{SL}}$ formula in a restricted form, there exists an "isomorphic" PPTL formula. The "isomorphic" PPTL formulas can be obtained by first an equisatisfiable translation and then an isomorphic mapping. As a result, existing theory of PPTL, such as decision procedure for satisfiability and model checking algorithm, can be reused for PPTL$^{\tiny\mbox{SL}}$.

[1]  Philippa Gardner,et al.  From Separation Logic to First-Order Logic , 2005, FoSSaCS.

[2]  Zhenhua Duan,et al.  A Unified Model Checking Approach with Projection Temporal Logic , 2008, ICFEM.

[3]  Stéphane Demri,et al.  Reasoning About Sequences of Memory States , 2007, LFCS.

[4]  Eran Yahav,et al.  Verifying Temporal Heap Properties Specified via Evolution Logic , 2006, Log. J. IGPL.

[5]  Li Zhang,et al.  A decision procedure for propositional projection temporal logic with infinite models , 2008, Acta Informatica.

[6]  María-del-Mar Gallardo,et al.  Model Checking Dynamic Memory Allocation in Operating Systems , 2009, Journal of Automated Reasoning.

[7]  Peter W. O'Hearn,et al.  Symbolic Execution with Separation Logic , 2005, APLAS.

[8]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[9]  Peter W. O'Hearn,et al.  Computability and Complexity Results for a Spatial Assertion Language for Data Structures , 2001, APLAS.

[10]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[11]  Peter W. O'Hearn,et al.  A Local Shape Analysis Based on Separation Logic , 2006, TACAS.

[12]  C. A. R. Hoare,et al.  A Trace Model for Pointers and Objects , 1999, ECOOP.

[13]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[14]  Maciej Koutny,et al.  Framed temporal logic programming , 2008, Sci. Comput. Program..

[15]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[16]  Joost-Pieter Katoen,et al.  Safety and Liveness in Concurrent Pointer Programs , 2005, FMCO.

[17]  R. M. Burstall,et al.  Some Techniques for Proving Correctness of Programs which Alter Data Structures , 2013 .

[18]  Zhenhua Duan,et al.  Propositional Projection Temporal Logic, Bchi Automata and omega-Regular Expressions , 2008, TAMC.

[19]  Hongjin Liu,et al.  Integrating Separation Logic with PPTL , 2013, SOFL+MSVL.

[20]  Zhenhua Duan,et al.  Complexity of propositional projection temporal logic with star , 2009, Math. Struct. Comput. Sci..

[21]  Stefan Rieger,et al.  Verification of Pointer Programs , 2009 .

[22]  Stéphane Demri,et al.  On the almighty wand , 2012, Inf. Comput..

[23]  Zhenhua Duan,et al.  An extended interval temporal logic and a framing technique for temporal logic programming , 1996 .

[24]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[25]  R. McNaughton,et al.  Counter-Free Automata , 1971 .