Proceedings

Efficient and Complete FD-solving for extended array constraints

Download BibTeX Cite

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence. Main track. Pages 1231-1238.

https://doi.org/10.24963/ijcai.2017/171

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.

  1. [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.
  2. [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.
  3. [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.
  4. [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.
  5. [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. Link
  6. [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.
  7. [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.
  8. [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.
  9. [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.
  10. [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.
  11. [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.
  12. [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.
  13. [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.
  14. [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.
  15. [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.
  16. [Downey and Sethi, 1978] Peter J. Downey and Ravi Sethi (1978). Assignment commands with array references. J. ACM, 25(4):652-666.
  17. [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.
  18. [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.
  19. [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.
  20. [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.
  21. [Jaffar, 1990] Joxan Jaffar (1990). Minimal and complete word uni- fication. J. ACM, 37(1):47-85.
  22. [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.
  23. [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.
  24. [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.
  25. [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.
  26. [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.
  27. [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.
  28. [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.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards