Proceedings

A Regular Matching Constraint for String Variables

Download BibTeX Cite

Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence. Main Track. Pages 1868-1875.

https://doi.org/10.24963/ijcai.2023/207

Abstract

Using a regular language as a pattern for string matching is nowadays a common -and sometimes unsafe- operation, provided as a built-in feature by most programming languages. A proper constraint solver over string variables should support most of the operations over regular expressions and related constructs. However, state-of-the-art string solvers natively support only the membership relation of a string variable to a regular language. Here we take a step forward by defining a specialised propagator for the match operation, returning the leftmost position where a pattern can match a given string. Empirical evidences show the effectiveness of our approach, implemented within the constraint programming framework, and tested against state-of-the-art string solvers.

  1. [Amadini et al., 2018] Roberto Amadini, Graeme Gange, and Peter J. Stuckey. Propagating regular membership with dashed strings. In J. Hooker, editor, Proc. 24th Conf. Principles and Practice of Constraint Programming, vol- ume 11008 of LNCS, pages 13-29. Springer, 2018.
  2. [Amadini et al., 2020] Roberto Amadini, Graeme Gange, and Peter J. Stuckey. Dashed strings for string constraint solving. Artif. Intell., 289:103368, 2020.
  3. [Amadini, 2021] Roberto Amadini. A survey on string con- straint solving. ACM Comput. Surv., 55(1), nov 2021.
  4. [Barbosa et al., 2022] Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds, Ying Sheng, Cesare Tinelli, and Yoni Zohar. cvc5: A versatile and industrial-strength SMT solver. In Dana Fisman and Grigore Rosu, editors, Tools and Algorithms for the Construction and Analysis of Sys- tems -28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I, volume 13243 of Lec- ture Notes in Computer Science, pages 415-442. Springer, 2022.
  5. [Barrett et al., 2010] Clark Barrett, Aaron Stump, and Ce- sare Tinelli. The SMT-LIB Standard: Version 2.0. In A. Gupta and D. Kroening, editors, Proceedings of the 8th International Workshop on Satisfiability Modulo Theories (Edinburgh, UK), 2010.
  6. [Berzish et al., 2017] Murphy Berzish, Vijay Ganesh, and Yunhui Zheng. Z3str3: A string solver with theory-aware heuristics. In D. Stewart and G. Weissenbacher, editors, Proc. 17th Conf. Formal Methods in Computer-Aided De- sign, pages 55-59. FMCAD Inc, 2017.
  7. [Bultan et al., 2017] Tevfik Bultan, Fang Yu, Muath Alkha- laf, and Abdulbaki Aydin. String Analysis for Software Verification and Security. Springer, 2017.
  8. [de Moura and Bjørner, 2008] Leonardo Mendonc ¸a de Moura and Nikolaj Bjørner. Z3: an efficient SMT solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Confer- ences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings, pages 337-340, 2008.
  9. [Gecode Team, 2023] Gecode Team. Gecode: Generic con- straint development environment. http://www.gecode.org, 2023. Accessed: 2023-29-05. Link
  10. [Kieżun et al., 2012] Adam Kieżun, Vijay Ganesh, Shay Artzi, Philip J. Guo, Pieter Hooimeijer, and Michael D. Ernst. HAMPI: A solver for word equations over strings, regular expressions, and context-free grammars. ACM Trans. Software Engineering and Methodology, 21(4):ar- ticle 25, 2012.
  11. [Li and Ghosh, 2013] Guodong Li and Indradeep Ghosh. PASS: String solving with parameterized array and inter- val automaton. In V. Bertacco and A. Legay, editors, Proc. 9th Int. Haifa Verification Conf., volume 8244 of LNCS, pages 15-31. Springer, 2013.
  12. [Nethercote et al., 2007] Nicholas Nethercote, Peter J. Stuckey, Ralph Becket, Sebastian Brand, Gregory J. Duck, and Guido Tack. MiniZinc: Towards a standard CP modelling language. In Proceedings of the 13th International Conference on Principles and Practice of Constraint Programming, volume 4741 of LNCS, pages 529-543. Springer, 2007.
  13. [Pesant, 2004] G. Pesant. A regular language membership constraint for finite sequences of variables. In M. Wallace, editor, Proceedings of the 10th International Conference on Principles and Practice of Constraint Programming, volume 3258 of LNCS, pages 482-495. Springer-Verlag, 2004.
  14. [Rossi et al., 2006] F. Rossi, P. van Beek, and T. Walsh, ed- itors. Handbook of Constraint Programming. Elsevier, 2006.
  15. [Saxena et al., 2010] Prateek Saxena, Devdatta Akhawe, Steve Hanna, Feng Mao, Stephen McCamant, and Dawn Song. A symbolic execution framework for JavaScript. In Proc. 2010 IEEE Symp. Security and Privacy, pages 513- 528. IEEE Comp. Soc., 2010.
  16. [Scott et al., 2017] Joseph D. Scott, Pierre Flener, Justin Pearson, and Christian Schulte. Design and implemen- tation of bounded-length sequence variables. In M. Lom- bardi and D. Salvagnin, editors, Proc. 14th Int. Conf. Inte- gration of Artificial Intelligence and Operations Research Techniques in Constraint Programming, volume 10335 of LNCS, pages 51-67. Springer, 2017.
  17. [Stuckey et al., 2014] Peter J. Stuckey, Thibaut Feydy, An- dreas Schutt, Guido Tack, and Julien Fischer. The miniz- inc challenge 2008-2013. AI Magazine, (2):55-60, 2014.
  18. [Tateishi et al., 2013] Takaaki Tateishi, Marco Pistoia, and Omer Tripp. Path-and index-sensitive string analysis based on monadic second-order logic. ACM Trans. Soft- ware Engineering Methodology, 22(4):article 33, 2013.

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

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