Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1788994.1789034guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

An interpolation method for CLP traversal

Published: 20 September 2009 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    Marriott, K., Stuckey, P.J.: Programming with Constraints. MIT Press, Cambridge (1998).
    [2]
    Chen, W., Warren, D.S.: Tabled evaluation with delaying for general logic programs. J. ACM 43(1), 20-74 (1996).
    [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).
    [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).
    [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).
    [6]
    Frost, D., Dechter, R.: Dead-end driven learning. In: 12th AAAI, pp. 294-300. AAAI Press, Menlo Park (1994).
    [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).
    [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).
    [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).
    [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).
    [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).
    [12]
    Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: {36}, pp. 424-437.
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [19]
    McMillan, K.L.: An interpolating theorem prover. TCS 345(1), 101-121 (2005).
    [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).
    [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).
    [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).
    [23]
    McMillan, K.L.: Lazy abstraction with interpolants. In: {36}, pp. 123-136.
    [24]
    Beyer, D., Henzinger, T., Jhala, R., Majumdar, R.: The software model checker Blast. Int. J. STTT 9, 505-525 (2007).
    [25]
    Flanagan, C.: Automatic software model checking using CLP. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 189-203. Springer, Heidelberg (2003).
    [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).
    [27]
    Delzanno, G., Podelski, A.: Constraint-based deductive model checking. Int. J. STTT 3(3), 250-270 (2001).
    [28]
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Englewood Cliffs (1976).
    [29]
    Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. J. LP 19/20, 503-581 (1994).
    [30]
    Bjørner, N., Browne, A., Manna, Z.: Automatic generation of invariants and intermediate assertions. TCS 173(1), 49-87 (1997).
    [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).
    [32]
    Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.C.: The CLP(R) language and system. ACM TOPLAS 14(3), 339-395 (1992).
    [33]
    Jaffar, J., Maher, M.J., Stuckey, P.J., Yap, R.H.C.: Output in CLP(R). In: Proc. Int. Conf. on Fifth Generation Computer Systems, Tokyo, Japan, vol. 2, pp. 987-995 (1992).
    [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).

    Cited By

    View all
    • (2019)Optimal MC/DC test case generationProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00118(288-289)Online publication date: 25-May-2019
    • (2018)A Survey of Symbolic Execution TechniquesACM Computing Surveys10.1145/318265751:3(1-39)Online publication date: 23-May-2018
    • (2017)Selective unification in constraint logic programmingProceedings of the 19th International Symposium on Principles and Practice of Declarative Programming10.1145/3131851.3131863(115-126)Online publication date: 9-Oct-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    CP'09: Proceedings of the 15th international conference on Principles and practice of constraint programming
    September 2009
    843 pages
    ISBN:3642042430
    • Editor:
    • Ian P. Gent

    Sponsors

    • FCT: Foundation for Science and Technology
    • Association for Constraint Programming
    • NICTA: National Information and Communications Technology Australia
    • APPIA: Portuguese Association for Artificial Intelligence
    • CENTRIA: Centre for Artificial Intelligence

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 20 September 2009

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Optimal MC/DC test case generationProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00118(288-289)Online publication date: 25-May-2019
    • (2018)A Survey of Symbolic Execution TechniquesACM Computing Surveys10.1145/318265751:3(1-39)Online publication date: 23-May-2018
    • (2017)Selective unification in constraint logic programmingProceedings of the 19th International Symposium on Principles and Practice of Declarative Programming10.1145/3131851.3131863(115-126)Online publication date: 9-Oct-2017
    • (2014)A path-sensitively sliced control flow graphProceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2635868.2635884(133-143)Online publication date: 11-Nov-2014
    • (2014)Verifying Array Programs by Transforming Verification ConditionsProceedings of the 15th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 831810.1007/978-3-642-54013-4_11(182-202)Online publication date: 19-Jan-2014
    • (2014)Lazy Annotation RevisitedProceedings of the 16th International Conference on Computer Aided Verification - Volume 855910.1007/978-3-319-08867-9_16(243-259)Online publication date: 18-Jul-2014
    • (2013)Theory propagation and rational-treesProceedings of the 15th Symposium on Principles and Practice of Declarative Programming10.1145/2505879.2505901(193-204)Online publication date: 16-Sep-2013
    • (2013)Boosting concolic testing via interpolationProceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering10.1145/2491411.2491425(48-58)Online publication date: 18-Aug-2013
    • (2013)Verifying programs via iterated specializationProceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation10.1145/2426890.2426899(43-52)Online publication date: 21-Jan-2013
    • (2013)Characteristic studies of loop problems for structural test generation via symbolic executionProceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2013.6693084(246-256)Online publication date: 11-Nov-2013
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media