Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination

  • Chao Wang
  • Franjo Ivančić
  • Malay Ganai
  • Aarti Gupta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3835)

Abstract

Separation logic is a subset of the quantifier-free first order logic. It has been successfully used in the automated verification of systems that have large (or unbounded) integer-valued state variables, such as pipelined processor designs and timed systems. In this paper, we present a fast decision procedure for separation logic, which combines Boolean satisfiability (SAT) with a graph based incremental negative cycle elimination algorithm. Our solver abstracts a separation logic formula into a Boolean formula by replacing each predicate with a Boolean variable. Transitivity constraints over predicates are detected from the constraint graph and added on a need-to basis. Our solver handles Boolean and theory conflicts uniformly at the Boolean level. The graph based algorithm supports not only incremental theory propagation, but also constant time theory backtracking without using a cumbersome history stack. Experimental results on a large set of benchmarks show that our new decision procedure is scalable, and outperforms existing techniques for this logic.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Chao Wang
    • 1
  • Franjo Ivančić
    • 1
  • Malay Ganai
    • 1
  • Aarti Gupta
    • 1
  1. 1.NEC Laboratories AmericaPrincetonUSA

Personalised recommendations