Separation predicates: a taste of separation logic in first-order logic

  • Authors:
  • François Bobot;Jean-Christophe Filliâtre

  • Affiliations:
  • LRI, Univ Paris-Sud, CNRS, Orsay, France,ProVal, INRIA, Orsay, France;LRI, Univ Paris-Sud, CNRS, Orsay, France,ProVal, INRIA, Orsay, France

  • Venue:
  • ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces separation predicates, a technique to reuse some ideas from separation logic in the framework of program verification using a traditional first-order logic. The purpose is to benefit from existing specification languages, verification condition generators, and automated theorem provers. Separation predicates are automatically derived from user-defined inductive predicates. We illustrate this idea on a non-trivial case study, namely the composite pattern, which is specified in C/ACSL and verified in a fully automatic way using SMT solvers Alt-Ergo, CVC3, and Z3.