Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination
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.
Unable to display preview. Download preview PDF.
- 1.Armando, A., Castellini, C., Giunchiglia, E., Idini, M., Maratea, M.: TSAT++: an open platform for satisfiability modulo theories. In: Workshop on Pragmatics of Decision Procedures in Automated Reasoning (2004)Google Scholar
- 3.Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Rossum, P., Schulz, S., Sebastiani, R.: An incremental and layered procedure for the satisfiability of linear arithmetic logic. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 317–333. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 6.Cotton, S.: Satisfiability checking with difference constraints. Msc thesis, IMPRS Computer Science, Saarbrucken (2005)Google Scholar
- 10.Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT-solver. In: Design, Automation and Test in Europe (DATE 2003), March 2002, pp. 142–149 (2002)Google Scholar
- 11.Moskewicz, M., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the Design Automation Conference, June 2001, pp. 530–535 (2001)Google Scholar
- 13.Pnueli, A., Rodeh, Y., Shtrichman, O., Siegel, M.: The small model property: How small can it be? Information and Computation 178(1), 275–293 (2002)Google Scholar
- 14.Pratt, V.R.: Two easy theories whose combination is hard. Technical report, Massachusetts Institute of Technology (1977)Google Scholar
- 16.Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A hybrid SAT-based decision procedure for separation logic with uninterpreted functions. In: Proceedings of the Design Automation Conference, June 2003, pp. 425–430 (2003)Google Scholar
- 17.Silva, J.P.M., Sakallah, K.A.: Grasp—a new search algorithm for satisfiability. In: International Conference on Computer-Aided Design, November 1996, pp. 220–227 (1996)Google Scholar
- 20.Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: Practical implementations and other applications. In: Design, Automation and Test in Europe (DATE 2003), pp. 880–885 (March 2003)Google Scholar