Skip to main content

Abstract

Arrays are ubiquitous in the context of software verification. However, effective reasoning over arrays is still rare in CP, as local reasoning is dramatically ill-conditioned for constraints over arrays. In this paper, we propose an approach combining both global symbolic reasoning and local filtering in order to solve constraint systems involving arrays (with accesses, updates and size constraints) and finite-domain constraints over their elements and indexes. Our approach, named fdcc, is based on a combination of a congruence closure algorithm for the standard theory of arrays and a CP solver over finite domains. The tricky part of the work lies in the bi-directional communication mechanism between both solvers. We identify the significant information to share, and design ways to master the communication overhead. Experiments on random instances show that fdcc solves more formulas than any portfolio combination of the two solvers taken in isolation, while overhead is kept reasonable.

Work partially funded by ANR (grants ANR-08-SEGI-006).

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., Ranise, S., van Rossum, P., Sebastiani, R.: Efficient Satisfiability Modulo Theories via Delayed Theory Combination. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 335–349. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed theory combination vs. Nelson-Oppen for satisfiability modulo theories: a comparative analysis. Ann. Math. Artif. Intell. 55(1-2) (2009)

    Google Scholar 

  3. Bardin, S., Herrmann, P.: Structural testing of executables. In: 1th Int. Conf. on Soft. Testing, Verif. and Valid. (ICST 2008), pp. 22–31 (2008)

    Google Scholar 

  4. Bardin, S., Herrmann, P., Perroud, F.: An Alternative to SAT-Based Approaches for Bit-Vectors. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 84–98. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Beldiceanu, N., Carlsson, M., Debruyne, R., Petit, T.: Reformulation of global constraints based on constraints checkers. Constraints 10, 339–362 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  6. Botella, B., Gotlieb, A., Michel, C.: Symbolic execution of floating-point computations. The Software Testing, Verification and Reliability Journal 16(2), 97–121 (2006)

    Article  Google Scholar 

  7. Brand, S.: Constraint propagation in presence of arrays. In: 6th Workshop of the ERCIM Working Group on Constraints, Computing Research Repository (2001)

    Google Scholar 

  8. Brummayer, R., Biere, A.: Lemmas on demand for the extensional theory of arrays. In: SMT 2008/BPR 2008, pp. 6–11. ACM (2008)

    Google Scholar 

  9. Carlsson, M., Ottosson, G., Carlson, B.: An open–ended finite domain constraint solver. In: Proc. of Programming Languages: Implementations, Logics, and Programs (1997)

    Google Scholar 

  10. Charreteur, F., Botella, B., Gotlieb, A.: Modelling dynamic memory management in constraint-based testing. The Journal of Systems and Software 82(11), 1755–1766 (2009); Special Issue: TAIC-PART 2007 and MUTATION 2007

    Article  Google Scholar 

  11. Collavizza, H., Rueher, M., Van Hentenryck, P.: CPBPV: A Constraint-Programming Framework for Bounded Program Verification. In: Stuckey, P.J. (ed.) CP 2008. LNCS, vol. 5202, pp. 327–341. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. de Moura, L., Bjørner, N.: Model-based theory combination. Electron. Notes Theor. Comput. Sci. 198(2), 37–49 (2008)

    Article  Google Scholar 

  13. de Moura, L., Bjørner, N.S.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Downey, P.J., Sethi, R.: Assignment commands with array references. J. ACM 25, 652–666 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  15. Gotlieb, A., Botella, B., Rueher, M.: A CLP Framework for Computing Structural Test Data. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 399–413. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  16. Gotlieb, A., Leconte, M., Marre, B.: Constraint solving on modular integers. In: Proc. of the 9th Int. Workshop on Constraint Modelling and Reformulation (ModRef 2010), co-located with CP 2010, St Andrews, Scotland (September 2010) XX^em

    Google Scholar 

  17. Van Hentenryck, P., Carillon, J.-P.: Generality versus specificity: An experience with ai and or techniques. In: Proc. of AAAI 1988, pp. 660–664. AAAI Press/The MIT Press (1988)

    Google Scholar 

  18. Kroening, D., Strichman, O.: Decision Procedures: An Algorithmic Point of View (2008)

    Google Scholar 

  19. Lebbah, Y., Michel, C., Rueher, M., Daney, D.: Efficient and safe global constraints for handling numerical constraint systems. SIAM J. Numer. Anal. 42, 2076–2097 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  20. Marre, B., Blanc, B.: Test selection strategies for lustre descriptions in gatel. Electronic Notes in Theoretical Computer Science 111, 93–111 (2005)

    Article  Google Scholar 

  21. Michel, L., Van Hentenryck, P.: Constraint-Based Local Search. MIT Press (2005)

    Google Scholar 

  22. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 245–257 (1979)

    Article  MATH  Google Scholar 

  23. Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  24. Régin, J.-C.: A filtering algorithm for constraints of difference in csps. In: Proc. of the Twelfth National Conference on Artificial Intelligence, AAAI 1994, vol. 1, pp. 362–367 (1994)

    Google Scholar 

  25. Rushby, J.: Automated Test Generation and Verified Software. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 161–172. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  26. Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Transactions on Programming Languages and Systems 31(1), 2:1–2:43 (2008)

    Google Scholar 

  27. Van Roy, P., Brand, P., Duchier, D., Haridi, S., Henz, M., Schulte, C.: Logic programming in the context of multiparadigm programming: the Oz experience. Theory and Practice of Logic Programming 3(6), 715–763 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bardin, S., Gotlieb, A. (2012). fdcc: A Combined Approach for Solving Constraints over Finite Domains and Arrays. In: Beldiceanu, N., Jussien, N., Pinson, É. (eds) Integration of AI and OR Techniques in Contraint Programming for Combinatorial Optimzation Problems. CPAIOR 2012. Lecture Notes in Computer Science, vol 7298. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29828-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29828-8_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29827-1

  • Online ISBN: 978-3-642-29828-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics