Quantitative Separation Logic and Programs with Lists

  • Authors:
  • Marius Bozga;Radu Iosif;Swann Perarnau

  • Affiliations:
  • VERIMAG, CNRS, University of Grenoble, Gières, France 38610;VERIMAG, CNRS, University of Grenoble, Gières, France 38610;LIG, Grenoble INP, Montbonnot Saint Martin, France 38330

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents an extension of a decidable fragment of Separation Logic for singly-linked lists, defined by Berdine et al. (2004). Our main extension consists in introducing atomic formulae of the form ls k (x, y) describing a list segment of length k, stretching from x to y, where k is a logical variable interpreted over positive natural numbers, that may occur further inside Presburger constraints. We study the decidability of the full first-order logic combining unrestricted quantification of arithmetic and location variables. Although the full logic is found to be undecidable, validity of entailments between formulae with the quantifier prefix in the language $\exists^* \{\exists_{\bf \mathbb{N}}, \forall_{\bf \mathbb{N}}\}^*$ is decidable. We provide here a model theoretic method, based on a parametric notion of shape graphs. We have implemented our decision technique, providing a fully automated framework for the verification of quantitative properties expressed as pre- and post-conditions on programs working on lists and integer counters.