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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Bardin, S., Herrmann, P.: Structural testing of executables. In: 1th Int. Conf. on Soft. Testing, Verif. and Valid. (ICST 2008), pp. 22–31 (2008)
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)
Beldiceanu, N., Carlsson, M., Debruyne, R., Petit, T.: Reformulation of global constraints based on constraints checkers. Constraints 10, 339–362 (2005)
Botella, B., Gotlieb, A., Michel, C.: Symbolic execution of floating-point computations. The Software Testing, Verification and Reliability Journal 16(2), 97–121 (2006)
Brand, S.: Constraint propagation in presence of arrays. In: 6th Workshop of the ERCIM Working Group on Constraints, Computing Research Repository (2001)
Brummayer, R., Biere, A.: Lemmas on demand for the extensional theory of arrays. In: SMT 2008/BPR 2008, pp. 6–11. ACM (2008)
Carlsson, M., Ottosson, G., Carlson, B.: An open–ended finite domain constraint solver. In: Proc. of Programming Languages: Implementations, Logics, and Programs (1997)
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
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)
de Moura, L., Bjørner, N.: Model-based theory combination. Electron. Notes Theor. Comput. Sci. 198(2), 37–49 (2008)
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)
Downey, P.J., Sethi, R.: Assignment commands with array references. J. ACM 25, 652–666 (1978)
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)
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
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)
Kroening, D., Strichman, O.: Decision Procedures: An Algorithmic Point of View (2008)
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)
Marre, B., Blanc, B.: Test selection strategies for lustre descriptions in gatel. Electronic Notes in Theoretical Computer Science 111, 93–111 (2005)
Michel, L., Van Hentenryck, P.: Constraint-Based Local Search. MIT Press (2005)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 245–257 (1979)
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980)
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)
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)
Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Transactions on Programming Languages and Systems 31(1), 2:1–2:43 (2008)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)