{"type":"ScholarlyArticle","title":"Efficient and Complete FD-solving for extended array constraints","authors":[{"name":"Quentin Plazar","slug":"quentin-plazar","given":"Quentin","family":"Plazar","affiliation":"INRIA Bretagne-Atlantique , Rennes , France"},{"name":"Mathieu Acher","slug":"mathieu-acher","given":"Mathieu","family":"Acher","affiliation":"INRIA Bretagne-Atlantique , Rennes , France"},{"name":"Sébastien Bardin","slug":"sebastien-bardin","given":"Sébastien","family":"Bardin","affiliation":"CEA , LIST , Gif-sur-Yvette , F-91191 , France"},{"name":"Arnaud Gotlieb","slug":"arnaud-gotlieb","given":"Arnaud","family":"Gotlieb","affiliation":"Simula Research Laboratory , Certus Center , Lysaker , Norway"}],"abstract":"Array constraints are essential for handling data structures in automated reasoning and software verification. Unfortunately, the use of a typical finite domain (FD) solver based on local consistency-based filtering has strong limitations when constraints on indexes are combined with constraints on array elements and size. This paper proposes an efficient and complete FD-solving technique for extended constraints over (possibly unbounded) arrays. We describe a simple but particularly powerful transformation for building an equisatisfiable formula that can be efficiently solved using standard FD reasoning over arrays, even in the unbounded case. Experiments show that the proposed solver significantly outperforms FD solvers, and successfully competes with the best SMT-solvers.","doi":"10.24963/ijcai.2017/171","url":"https://ijcai.org/proceedings/2017/171","pdf":"https://ijcai.org/proceedings/2017/0171.pdf","markdown":"https://ijcai.org/proceedings/2017/171.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/171","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Knowledge Representation, Reasoning, and Logic","track":"Main track","number":171,"pages":{"first":1231,"last":1238},"keywords":["Knowledge Representation, Reasoning, and Logic: Automated Reasoning and Theorem Proving","Constraints and Satisfiability: Constraint Satisfaction","Multidisciplinary Topics and Applications: Validation and Verification"],"videos":[],"references":[{"position":1,"raw":"[Bardin and Gotlieb, 2012] Sébastien Bardin and Arnaud Gotlieb (2012). Fdcc: A combined approach for solving constraints over finite domains and arrays. In Proceedings of the 9th Interna- tional Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Prob- lems, CPAIOR'12, pages 17-33, Berlin, Heidelberg. Springer- Verlag.","title":"Fdcc: A combined approach for solving constraints over finite domains and arrays","authors":"Sébastien Bardin, Arnaud Gotlieb","year":"2012","venue":"Proceedings of the 9th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, CPAIOR'12","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Bardin and Herrmann, 2008] Sébastien Bardin and Philippe Her- rmann (2008). Structural testing of executables. In 2008 1st International Conference on Software Testing, Verification, and Validation, pages 22-31.","title":"Structural testing of executables","authors":"Sébastien Bardin, Philippe Herrmann","year":"2008","venue":"2008 1st International Conference on Software Testing, Verification, and Validation","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Bardin et al., 2010] Sébastien Bardin, Philippe Herrmann, and Florian Perroud (2010). An alternative to sat-based approaches for bit-vectors. In International Conference on Tools and Algo- rithms for the Construction and Analysis of Systems, pages 84- 98. Springer.","title":"An alternative to sat-based approaches for bit-vectors","authors":"Sébastien Bardin, Philippe Herrmann, Florian Perroud","year":"2010","venue":"International Conference on Tools and Algorithms for the Construction and Analysis of Systems","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Barrett et al., 2011] Clark Barrett, Christopher L. Conway, Mor- gan Deters, Liana Hadarean, Dejan Jovanovic, Tim King, An- drew Reynolds, and Cesare Tinelli (2011). CVC4. In Computer Aided Verification -23rd International Conference, CAV 2011, Snowbird, UT, USA, July 14-20, 2011. Proceedings, pages 171- 177.","title":"CVC4","authors":"Clark Barrett, Christopher L Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovic, Tim King, Andrew Reynolds, Cesare Tinelli","year":"2011","venue":"Computer Aided Verification -23rd International Conference, CAV 2011","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Barrett et al., 2015] Clark Barrett, Pascal Fontaine, and Cesare Tinelli (2015). The SMT-LIB Standard: Version 2.5. Techni- cal report, Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org.","title":"The SMT-LIB Standard: Version 2.5","authors":"Clark Barrett, Pascal Fontaine, Cesare Tinelli","year":"2015","venue":null,"doi":null,"url":"www.","internal_url":null},{"position":6,"raw":"[Berend and Tassa, 2010] Daniel Berend and Tamir Tassa (2010). Improved bounds on bell numbers and on moments of sums of random variables. Probability and Mathematical Statistics, 30(2):185-205.","title":"Improved bounds on bell numbers and on moments of sums of random variables","authors":"Daniel Berend, Tamir Tassa","year":"2010","venue":"Probability and Mathematical Statistics","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Botella et al., 2006] Bernard Botella, Arnaud Gotlieb, and Claude Michel (2006). Symbolic execution of floating-point computa- tions: Research articles. Softw. Test. Verif. Reliab., 16(2):97-121.","title":"Symbolic execution of floating-point computations: Research articles","authors":"Bernard Botella, Arnaud Gotlieb, Claude Michel","year":"2006","venue":"Softw. Test. Verif. Reliab","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Bozzano et al., 2005] Marco Bozzano, Roberto Bruttomesso, Alessandro Cimatti, Tommi A. Junttila, Silvio Ranise, Peter van Rossum, and Roberto Sebastiani (2005). Efficient satisfiability modulo theories via delayed theory combination. In Computer Aided Verification, 17th International Conference, CAV 2005, Edinburgh, Scotland, UK, July 6-10, 2005, Proceedings, pages 335-349.","title":"Efficient satisfiability modulo theories via delayed theory combination","authors":"Marco Bozzano, Roberto Bruttomesso, Alessandro Cimatti, Tommi A Junttila, Silvio Ranise, Peter Van Rossum, Roberto Sebastiani","year":"2005","venue":"Computer Aided Verification, 17th International Conference, CAV 2005","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Bradley et al., 2006] Aaron R. Bradley, Zohar Manna, and Henny B. Sipma (2006). What's decidable about arrays? In Proceedings of the 7th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI'06, pages 427-442, Berlin, Heidelberg. Springer-Verlag.","title":"What's decidable about arrays?","authors":"Aaron R Bradley, Zohar Manna, Henny B Sipma","year":"2006","venue":"Proceedings of the 7th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI'06","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Brummayer and Biere, 2009] Robert Brummayer and Armin Biere (2009). Lemmas on demand for the extensional theory of arrays. JSAT, 6(1-3):165-201.","title":"Lemmas on demand for the extensional theory of arrays","authors":"Robert Brummayer, Armin Biere","year":"2009","venue":"JSAT","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Bruttomesso et al., 2009] Roberto Bruttomesso, Alessandro Cimatti, Anders Franzén, Alberto Griggio, and Roberto Sebas- tiani (2009). Delayed theory combination vs. nelson-oppen for satisfiability modulo theories: a comparative analysis. Ann. Math. Artif. Intell., 55(1-2):63-99.","title":"Delayed theory combination vs. nelson-oppen for satisfiability modulo theories: a comparative analysis","authors":"Roberto Bruttomesso, Alessandro Cimatti, Anders Franzén, Alberto Griggio, Roberto Sebastiani","year":"2009","venue":"Ann. Math. Artif. Intell","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Carlsson et al., 1997] Mats Carlsson, Greger Ottosson, and Björn Carlson (1997). An open-ended finite domain constraint solver. In Proceedings of the9th International Symposium on Program- ming Languages: Implementations, Logics, and Programs: In- cluding a Special Trach on Declarative Programming Languages in Education, PLILP '97, pages 191-206, London, UK, UK. Springer-Verlag.","title":"An open-ended finite domain constraint solver","authors":"Carlsson","year":"1997","venue":"Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education, PLILP '97","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Charreteur et al., 2009] Florence Charreteur, Bernard Botella, and Arnaud Gotlieb (2009). Modelling Dynamic Memory Manage- ment in Constraint-Based Testing. Journal of Systems and Soft- ware, 82(11):1755-1766.","title":"Modelling Dynamic Memory Management in Constraint-Based Testing","authors":"Charreteur","year":"2009","venue":"Journal of Systems and Software","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Cimatti et al., 2013] Alessandro Cimatti, Alberto Griggio, Basti- aan Schaafsma, and Roberto Sebastiani (2013). The MathSAT5 SMT Solver. In Nir Piterman and Scott Smolka, editors, Pro- ceedings of TACAS, volume 7795 of LNCS. Springer.","title":"The MathSAT5 SMT Solver","authors":"Alessandro Cimatti, Alberto Griggio, Bastiaan Schaafsma, Roberto Sebastiani","year":"2013","venue":"Proceedings of TACAS","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[De Moura and Bjørner, 2008] Leonardo De Moura and Nikolaj Bjørner (2008). Z3: An efficient smt solver. In Proceedings of the Theory and Practice of Software, 14th International Confer- ence on Tools and Algorithms for the Construction and Analysis of Systems, TACAS'08/ETAPS'08, pages 337-340, Berlin, Hei- delberg. Springer-Verlag.","title":"Leonardo De Moura and Nikolaj Bjørner","authors":"De Moura, Bjørner","year":"2008","venue":"Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS'08/ETAPS'08","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Downey and Sethi, 1978] Peter J. Downey and Ravi Sethi (1978). Assignment commands with array references. J. ACM, 25(4):652-666.","title":"Assignment commands with array references","authors":"J Peter, Ravi Downey, Sethi","year":"1978","venue":"J. ACM","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Dutertre, 2014] Bruno Dutertre (2014). Yices 2.2. In Armin Biere and Roderick Bloem, editors, Computer-Aided Verification (CAV'2014), volume 8559 of Lecture Notes in Computer Science, pages 737-744. Springer.","title":"Yices 2.2","authors":"Bruno Dutertre","year":"2014","venue":"Computer-Aided Verification (CAV'2014)","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Gotlieb, 2009] Arnaud Gotlieb (2009). Euclide: A constraint- based testing framework for critical c programs. In Software Testing Verification and Validation, 2009. ICST'09. International Conference on, pages 151-160. IEEE.","title":"Euclide: A constraintbased testing framework for critical c programs","authors":"Arnaud Gotlieb","year":"2009","venue":"Software Testing Verification and Validation","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Gotlieb et al., 2010] Arnaud Gotlieb, Michel Leconte, and Bruno Marre (2010). Constraint solving on modular integers. In ModRef Worksop, associated to CP'2010, Saint-Andrews, United King- dom.","title":"Constraint solving on modular integers","authors":"Arnaud Gotlieb, Michel Leconte, Bruno Marre","year":"2010","venue":"ModRef Worksop, associated to CP'2010","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Hentenryck and Carillon, 1988] Pascal Van Hentenryck and Jean- Philippe Carillon (1988). Generality versus specificity: An ex- perience with AI and OR techniques. In Proceedings of the 7th National Conference on Artificial Intelligence. St. Paul, MN, Au- gust 21-26, 1988., pages 660-664.","title":"Generality versus specificity: An experience with AI and OR techniques","authors":"Pascal Van, Hentenryck, Jean-Philippe Carillon","year":"1988","venue":"Proceedings of the 7th National Conference on Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Jaffar, 1990] Joxan Jaffar (1990). Minimal and complete word uni- fication. J. ACM, 37(1):47-85.","title":"Minimal and complete word unification","authors":"Joxan Jaffar","year":"1990","venue":"J. ACM","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[Kroening and Strichman, 2016] Daniel Kroening and Ofer Strich- man (2016). Decision Procedures: An Algorithmic Point of View (Chapter Arrays), pages 157-172. Springer Berlin Heidelberg, Berlin, Heidelberg.","title":"Decision Procedures: An Algorithmic Point of View (Chapter Arrays)","authors":"Daniel Kroening, Ofer Strichman","year":"2016","venue":null,"doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[Marre and Blanc, 2005] Bruno Marre and Benjamin Blanc (2005). Test selection strategies for lustre descriptions in gatel. Electron. Notes Theor. Comput. Sci., 111:93-111.","title":"Test selection strategies for lustre descriptions in gatel","authors":"Bruno Marre, Benjamin Blanc","year":"2005","venue":"Electron. Notes Theor. Comput. Sci","doi":null,"url":null,"internal_url":null},{"position":24,"raw":"[Nelson and Oppen, 1979] Greg Nelson and Derek C. Oppen (1979). Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst., 1(2):245-257.","title":"Simplification by cooperating decision procedures","authors":"Greg Nelson, Derek C Oppen","year":"1979","venue":"ACM Trans. Program. Lang. Syst","doi":null,"url":null,"internal_url":null},{"position":25,"raw":"[Nethercote et al., 2007] Nicholas Nethercote, Peter J. Stuckey, Ralph Becket, Sebastian Brand, Gregory J. Duck, and Guido Tack (2007). Minizinc: Towards a standard CP modelling lan- guage. In Principles and Practice of Constraint Programming - CP 2007, 13th International Conference, CP 2007, Providence, RI, USA, September 23-27, 2007, Proceedings, pages 529-543.","title":"Minizinc: Towards a standard CP modelling language","authors":"Nicholas Nethercote, Peter J Stuckey, Ralph Becket, Sebastian Brand, Gregory J Duck, Guido Tack","year":"2007","venue":"Principles and Practice of Constraint Programming -CP 2007, 13th International Conference, CP 2007","doi":null,"url":null,"internal_url":null},{"position":26,"raw":"[Owre et al., 1999] S. Owre, N. Shankar, J. M. Rushby, and D. W. J. Stringer-Calvert (1999). PVS System Guide. Computer Science Laboratory, SRI International, Menlo Park, CA.","title":"PVS System Guide","authors":"S Owre, N Shankar, J M Rushby, D W J Stringer-Calvert","year":"1999","venue":null,"doi":null,"url":null,"internal_url":null},{"position":27,"raw":"[Schulte and Tack, 2005] Christian Schulte and Guido Tack (2005). Views and iterators for generic constraint implementations. In Principles and Practice of Constraint Programming -CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings, pages 817-821.","title":"Views and iterators for generic constraint implementations","authors":"Tack Schulte","year":"2005","venue":"Principles and Practice of Constraint Programming -CP 2005, 11th International Conference, CP 2005","doi":null,"url":null,"internal_url":null},{"position":28,"raw":"[Tack et al., 2006] Guido Tack, Christian Schulte, and Gert Smolka (2006). Generating propagators for finite set constraints. In Prin- ciples and Practice of Constraint Programming -CP 2006, 12th International Conference, CP 2006, Nantes, France, September 25-29, 2006, Proceedings, pages 575-589.","title":"Generating propagators for finite set constraints","authors":"Guido Tack, Christian Schulte, Gert Smolka","year":"2006","venue":"Principles and Practice of Constraint Programming -CP 2006, 12th International Conference, CP 2006","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}