Solving String Split Constraints via Structural Relaxation
Rui Han, Ziheng Wang, Baoquan Cui, Yuhang Dong, Fuqi Jia, Feifei Ma, Jian Zhang
摘要
String operations are integral to program analysis, yet reasoning about the ubiquitous split operation remains a challenge. SMT solvers have difficulty with split because it transforms a string into a variable-length sequence, creating a structural mismatch that leads to uninterpreted abstractions or unsound bounded approximations. In this paper, we bridge this gap with a precise, SMT-LIB-compliant encoding. Our key insight is structural relaxation: exploiting the sparsity of real-world constraints, we decouple the split structure from strict length requirements, materializing segments only on demand. We further introduce position-aware constraints to handle complex regex-based delimiters without overlaps. We evaluated our framework on 580 benchmarks using four leading string solvers. Our encoding enables off-the-shelf solvers to handle split constraints, solving 157 out of 168 real-world benchmarks and outperforming current baselines. Notably, our framework involves complex string operations, revealing 12 previously unknown implementation bugs in mainstream solvers.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
相关 Paper
- Solving String Constraints with Lengths by StabilizationYu-Fang Chen, David Chocholatý, Vojtech Havlena, Lukás Holík 等OOPSLA 2023 · 被引用 18 次
- Inter-theory dependency analysis for SMT string solversMinh-Thai Trinh, Duc-Hiep Chu, Joxan JaffarOOPSLA 2020 · 被引用 5 次
- Even Faster Conflicts and Lazier Reductions for String SolversAndres Nötzli, Andrew Reynolds, Haniel Barbosa, Clark W. Barrett 等CAV 2022 · 被引用 13 次
- An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthMurphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea 等CAV 2021 · 被引用 37 次
- Solving String Constraints Using SATKevin Lotz, Amit Goel, Bruno Dutertre, Benjamin Kiesl-Reiter 等CAV 2023 · 被引用 11 次
