SDSAT: Tight Integration of Small Domain Encoding and Lazy Approaches in a Separation Logic Solver

  • Malay K Ganai
  • Muralidhar Talupur
  • Aarti Gupta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3920)


Existing Separation Logic (a.k.a Difference Logic, DL) solvers can be broadly classified as eager or lazy, each with its own merits and de-merits. We propose a novel Separation Logic Solver SDSAT that combines the strengths of both these approaches and provides a robust performance over a wide set of benchmarks. The solver SDSAT works in two phases: allocation and solve. In the allocation phase, it allocates non-uniform adequate ranges for variables appearing in separation predicates. This phase is similar to previous small domain encoding approaches, but uses a novel algorithm Nu-SMOD with 1-2 orders of magnitude improvement in performance and smaller ranges for variables. Furthermore, the Separation Logic formula is not transformed into an equi-satisfiable Boolean formula in one step, but rather done lazily in the following phase. In the solve phase, SDSAT uses a lazy refinement approach to search for a satisfying model within the allocated ranges. Thus, any partially DL-theory consistent model can be discarded if it can not be satisfied within the allocated ranges. Note the crucial difference: in eager approaches, such a partially consistent model is not allowed in the first place, while in lazy approaches such a model is never discarded. Moreover, we dynamically refine the allocated ranges and search for a feasible solution within the updated ranges. This combined approach benefits from both the smaller search space (as in eager approaches) and also from the theory-specific graph-based algorithms (characteristic of lazy approaches). Experimental results show that our method is robust and always better than or comparable to state-of-the art solvers.


Boolean Formula Satisfying Assignment Constraint Graph Negative Cycle Strongly Connect Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. Studies in Logic and the Foundations of Mathematics (1954)Google Scholar
  2. 2.
    Niebert, P., Mahfoudh, M., Asarin, E., Bozga, M., Maler, O., Jain, N.: Verification of Timed Automata via Satisfiability Checking. In: Proc. of Formal Techniques in Real-Time and Fault Tolerant Systems (2002)Google Scholar
  3. 3.
    Adams, J., Balas, E., Zawack, D.: The shifting bottleneck procedure for job shop scheduling. In: Management Science (1988)Google Scholar
  4. 4.
    Filliatre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 246. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Parthasarathy, G., Iyer, M.K., Cheng, K.-T., Wang, C.: An Efficient Finite-Domain Constraint Solver for RTL Circuits. In: Proceedings of DAC (2004)Google Scholar
  6. 6.
    Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607. Springer, Heidelberg (1992)Google Scholar
  7. 7.
    Kröning, D., Ouaknine, J., Seshia, S.A., Strichman, O.: Abstraction-based satisfiability solving of presburger arithmetic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 308–320. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Bik, A.J.C., Wijshoff, H.A.G.: Implementation of Fourier-Motzkin Elimination. In: Technical Report 94-42, Dept. of Computer Science, Leiden University (1994)Google Scholar
  9. 9.
    Zhang, L., Malik, S.: The Quest for Efficient Boolean Satisfiability Solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 17. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Pnueli, A., Rodeh, Y., Strichman, O., Siegel, M.: The Small Model Property: How small can it be? Information and computation 178(1), 279–293 (2002)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Strichman, O., Seshia, S.A., Bryant, R.E.: Deciding separation formulas with SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 209. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and Verifying Systems using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  13. 13.
    Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A Hybrid SAT-based Decision Procedure for Separation Logic with Uninterpreted Functions. In: Proceedings of DAC (2003)Google Scholar
  14. 14.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Deciding CLU logic formulas via Boolean and peudo-Boolean encodings. In: Workshop on Constraints in Formal Verification (2002)Google Scholar
  15. 15.
    Barrett, C., Dill, D.L., Levitt, J.: Validity Checking for Combination of Theories with Equality. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  16. 16.
    Armando, A., Castellini, C., Giunchiglia, E., Idini, M., Maratea, M.: TSAT++: An Open Platform for Satisfiability Modulo Theories. In: Proceedings of Pragmatics of Decision Procedures in Automated Resonings, PDPAR 2004 (2004)Google Scholar
  17. 17.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., van 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
  18. 18.
    Nieuwenhuis, R., Oliveras, A.: DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 321–334. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Wang, C., Ivancic, F., Ganai, M., Gupta, A.: Deciding Separation Logic Formulae with SAT by Incremental Negative Cycle Elimination. In: Proceeding of Logic for Programming (2005)Google Scholar
  20. 20.
    Talupur, M., Sinha, N., Strichman, O., Pnueli, A.: Range allocation for separation logic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 148–161. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Aloul, F., Ramani, A., Markov, I., Sakallah, K.: PBS: A backtrack search pseudo-Boolean solver. In: Symposium on the Theory and Applications of Satisfiability Testing, SAT (2002)Google Scholar
  22. 22.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (1990)MATHGoogle Scholar
  23. 23.
    Cotton, S.: Satisfiability Checking with Difference Constraints. In: IMPRS Computer Science, Saarbruceken (2005)Google Scholar
  24. 24.
    Pratt, V.: Two Easy Theories Whose Combination is Hard, in Technical report, MIT (1977)Google Scholar
  25. 25.
    Ramalingam, G., Song, J., Joscovicz, L., Miller, R.: Solving difference constraints incrementally. Alogrithmica (1999)Google Scholar
  26. 26.
  27. 27.
    Hochbaum, D.S.: Approximation Algorithms for NP-hard Problems: PWS Publishing Company (1997)Google Scholar
  28. 28.
    Cherkassky, B.V., Goldberg, E.: Negative-cycle Detection Algorithms. In: European Symposium on Algorithms (1996)Google Scholar
  29. 29.
    Moore, R.E.: Interval Analysis. Prentice-Hall, NJ (1966)MATHGoogle Scholar
  30. 30.
    Hickey, T., Ju, Q., Emden, H.V.: Interval Arithmetic: from principles to implementation. Journal of the ACM (2001)Google Scholar
  31. 31.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: Proceedings of Design Automation Conference (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Malay K Ganai
    • 1
  • Muralidhar Talupur
    • 2
  • Aarti Gupta
    • 1
  1. 1.NEC LABS AmericaPrincetonUSA
  2. 2.Carnegie Mellon UniversityPittsburghUSA

Personalised recommendations