Z3-Noodler: An Automata-based String Solver (Technical Report)
Yu-Fang Chen, David Chocholat\'y, Vojt\v{e}ch Havlena, Luk\'a\v{s}, Hol\'ik, Ond\v{r}ej Leng\'al, Juraj S\'i\v{c}

TL;DR
Z3-Noodler introduces a new automata-based string solver using stabilization algorithms, demonstrating competitive performance and complementarity with existing solvers in solving word equations with regular constraints.
Contribution
It presents a novel string solver based on automata and stabilization algorithms, integrated into Z3, with extensive evaluation showing its effectiveness and complementary strengths.
Findings
Outperforms many state-of-the-art solvers on benchmarks
Works well as part of solver portfolios due to its complementarity
Successfully solves complex word equations with regular constraints
Abstract
Z3-Noodler is a fork of Z3 that replaces its string theory solver with a custom solver implementing the recently introduced stabilization-based algorithm for solving word equations with regular constraints. An extensive experimental evaluation shows that Z3-Noodler is a fully-fledged solver that can compete with state-of-the-art solvers, surpassing them by far on many benchmarks. Moreover, it is often complementary to other solvers, making it a suitable choice as a candidate to a solver portfolio.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNetwork Packet Processing and Optimization · Algorithms and Data Compression · Software Testing and Debugging Techniques
