Reasoning About Sequences of Memory States

  • Authors:
  • Rémi Brochenin;Stéphane Demri;Etienne Lozes

  • Affiliations:
  • LSV, ENS Cachan, CNRS, INRIA,;LSV, ENS Cachan, CNRS, INRIA,;LSV, ENS Cachan, CNRS, INRIA,

  • Venue:
  • LFCS '07 Proceedings of the international symposium on Logical Foundations of Computer Science
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In order to verify programs with pointer variables, we introduce a temporal logic LTLmemwhose underlying assertion language is the quantifier-free fragment of separation logic and the temporal logic on the top of it is the standard linear-time temporal logic LTL. We analyze the complexity of various model-checking and satisfiability problems for LTLmem, considering various fragments of separation logic (including pointer arithmetic), various classes of models (with or without constant heap), and the influence of fixing the initial memory state. We provide a complete picture based on these criteria. Our main decidability result is -completeness of the satisfiability problems on the record fragment and on a classical fragment allowing pointer arithmetic. ${\Sigma^{0}_{1}}$-completeness or $\Sigma^{1}_{1}$-completeness results are established for various problems by reducing standard problems for Minsky machines, and underline the tightness of our decidability results.