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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Marriott, K., Stuckey, P.J.: Programming with Constraints. MIT Press, Cambridge (1998)
Chen, W., Warren, D.S.: Tabled evaluation with delaying for general logic programs. J. ACM 43(1), 20–74 (1996)
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)
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)
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)
Frost, D., Dechter, R.: Dead-end driven learning. In: 12th AAAI, pp. 294–300. AAAI Press, Menlo Park (1994)
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)
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)
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)
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)
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)
Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: [36], pp. 424–437
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)
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)
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)
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)
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)
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)
McMillan, K.L.: An interpolating theorem prover. TCS 345(1), 101–121 (2005)
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)
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)
Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: 31st POPL, pp. 232–244. ACM Press, New York (2004)
McMillan, K.L.: Lazy abstraction with interpolants. In: [36], pp. 123–136
Beyer, D., Henzinger, T., Jhala, R., Majumdar, R.: The software model checker Blast. Int. J. STTT 9, 505–525 (2007)
Flanagan, C.: Automatic software model checking using CLP. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 189–203. Springer, Heidelberg (2003)
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)
Delzanno, G., Podelski, A.: Constraint-based deductive model checking. Int. J. STTT 3(3), 250–270 (2001)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Englewood Cliffs (1976)
Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. J. LP 19/20, 503–581 (1994)
Bjørner, N., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. TCS 173(1), 49–87 (1997)
Flanagan, C., Saxe, J.B.: Avoiding exponential explosion: Generating compact verificatio n conditions. In: 28th POPL, pp. 193–205. ACM Press, New York (2001)
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)
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)
Toy, B.: Linpack.c (1988), http://www.netlib.org/benchmark/linpackc
Mälardalen WCET research group benchmarks (2006), http://www.mrtc.mdh.se/projects/wcet/benchmarks.html
Ball, T., Jones, R.B. (eds.): CAV 2006. LNCS, vol. 4144, pp. 532–546. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)