Skip to main content

An Interpolation Method for CLP Traversal

  • Conference paper
Principles and Practice of Constraint Programming - CP 2009 (CP 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5732))

Abstract

We consider the problem of exploring the search tree of a CLP goal in pursuit of a target property. Essential to such a process is a method of tabling to prevent duplicate exploration. Typically, only actually traversed goals are memoed in the table. In this paper we present a method where, upon the successful traversal of a subgoal, a generalization of the subgoal is memoed. This enlarges the record of already traversed goals, thus providing more pruning in the subsequent search process. The key feature is that the abstraction computed is guaranteed not to give rise to a spurious path that might violate the target property.

A driving application area is the use of CLP to model the behavior of other programs. We demonstrate the performance of our method on a benchmark of program verfication problems.

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. Marriott, K., Stuckey, P.J.: Programming with Constraints. MIT Press, Cambridge (1998)

    MATH  Google Scholar 

  2. Chen, W., Warren, D.S.: Tabled evaluation with delaying for general logic programs. J. ACM 43(1), 20–74 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  3. Swift, T.: A new formulation of tabled resolution with delay. In: Barahona, P., Alferes, J.J. (eds.) EPIA 1999. LNCS (LNAI), vol. 1695, pp. 163–177. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Sagonas, K., Swift, T., Warren, D.S., Freire, J., Rao, P., Cui, B., Johnson, E., de Castro, L., Dawson, S., Kifer, M.: The XSB System Version 2.5 Volume 1: Programmer’s Manual (June 2003)

    Google Scholar 

  5. Jaffar, J., Santosa, A.E., Voicu, R.: Efficient memoization for dynamic programming with ad-hoc constraints. In: 23rd AAAI, pp. 297–303. AAAI Press, Menlo Park (2008)

    Google Scholar 

  6. Frost, D., Dechter, R.: Dead-end driven learning. In: 12th AAAI, pp. 294–300. AAAI Press, Menlo Park (1994)

    Google Scholar 

  7. Bayardo Jr., R.J., Schrag, R.: Using csp look-back techniques to solve real-world sat instances. In: 14th AAAI/9th IAAI, pp. 203–208. AAAI Press, Menlo Park (1997)

    Google Scholar 

  8. Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  9. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: 38th DAC, pp. 530–535. ACM Press, New York (2001)

    Google Scholar 

  10. Silva, J.P.M., Sakallah, K.A.: GRASP—a new search algorithm for satisfiability. In: ICCAD 1996, pp. 220–227. ACM and IEEE Computer Society (1996)

    Google Scholar 

  11. McMillan, K.L.: Applying SAT methods in unbounded symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 250. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  12. Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: [36], pp. 424–437

    Google Scholar 

  13. Jones, R.B., Dill, D.L., Burch, J.R.: Efficient validity checking for processor verification. In: Rudell, R.L. (ed.) ICCAD 1995, pp. 2–6. IEEE Computer Society Press, Los Alamitos (1995)

    Google Scholar 

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

    Chapter  Google Scholar 

  15. Stump, A., Barrett, C., Dill, D.L.: CVC: A cooperating validity checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 500–504. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  17. McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  18. Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theories. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 397–412. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  19. McMillan, K.L.: An interpolating theorem prover. TCS 345(1), 101–121 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  20. Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  21. Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: 29th POPL, pp. 58–70. ACM Press, New York (2002); SIGPLAN Notices 37(1)

    Google Scholar 

  22. Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: 31st POPL, pp. 232–244. ACM Press, New York (2004)

    Google Scholar 

  23. McMillan, K.L.: Lazy abstraction with interpolants. In: [36], pp. 123–136

    Google Scholar 

  24. Beyer, D., Henzinger, T., Jhala, R., Majumdar, R.: The software model checker Blast. Int. J. STTT 9, 505–525 (2007)

    Article  Google Scholar 

  25. Flanagan, C.: Automatic software model checking using CLP. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 189–203. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  26. Jaffar, J., Santosa, A.E., Voicu, R.: Modeling systems in CLP. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 412–413. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  27. Delzanno, G., Podelski, A.: Constraint-based deductive model checking. Int. J. STTT 3(3), 250–270 (2001)

    MATH  Google Scholar 

  28. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  29. Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. J. LP 19/20, 503–581 (1994)

    MathSciNet  MATH  Google Scholar 

  30. Bjørner, N., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. TCS 173(1), 49–87 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  31. Flanagan, C., Saxe, J.B.: Avoiding exponential explosion: Generating compact verificatio n conditions. In: 28th POPL, pp. 193–205. ACM Press, New York (2001)

    Google Scholar 

  32. Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.C.: The CLP(\(\cal R\)) language and system. ACM TOPLAS 14(3), 339–395 (1992)

    Article  Google Scholar 

  33. Jaffar, J., Maher, M.J., Stuckey, P.J., Yap, R.H.C.: Output in CLP(\(\cal R\)). In: Proc. Int. Conf. on Fifth Generation Computer Systems, Tokyo, Japan, vol. 2, pp. 987–995 (1992)

    Google Scholar 

  34. Toy, B.: Linpack.c (1988), http://www.netlib.org/benchmark/linpackc

  35. Mälardalen WCET research group benchmarks (2006), http://www.mrtc.mdh.se/projects/wcet/benchmarks.html

  36. Ball, T., Jones, R.B. (eds.): CAV 2006. LNCS, vol. 4144, pp. 532–546. Springer, Heidelberg (2006)

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jaffar, J., Santosa, A.E., Voicu, R. (2009). An Interpolation Method for CLP Traversal. In: Gent, I.P. (eds) Principles and Practice of Constraint Programming - CP 2009. CP 2009. Lecture Notes in Computer Science, vol 5732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04244-7_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04244-7_37

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04243-0

  • Online ISBN: 978-3-642-04244-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics