Skip to main content

Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination

  • Conference paper
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2005)

Part of the book series: Lecture Notes in Computer Science ((LNAI,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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 

  2. Barrett, C., Dill, D.L., Levitt, J.: Validity checking for combinations of theories with equality. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166. Springer, Heidelberg (1996)

    Chapter  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)

    Chapter  Google Scholar 

  4. 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: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 78. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. The MIT Press, Cambridge (1990)

    MATH  Google Scholar 

  6. Cotton, S.: Satisfiability checking with difference constraints. Msc thesis, IMPRS Computer Science, Saarbrucken (2005)

    Google Scholar 

  7. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5, 394–397 (1962)

    Article  MATH  MathSciNet  Google Scholar 

  8. Filliâtre, 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, pp. 246–249. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast decision procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)

    Chapter  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 

  12. 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)

    Chapter  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 

  15. Ramalingam, G., Song, J., Joscovicz, L., Miller, R.E.: Solving difference constraints incrementally. Algorithmica 23(3), 261–275 (1999)

    Article  MATH  MathSciNet  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 

  18. 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, pp. 209–222. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. 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)

    Chapter  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wang, C., Ivančić, F., Ganai, M., Gupta, A. (2005). Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination. In: Sutcliffe, G., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2005. Lecture Notes in Computer Science(), vol 3835. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11591191_23

Download citation

  • DOI: https://doi.org/10.1007/11591191_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30553-8

  • Online ISBN: 978-3-540-31650-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics