Reductions for Strings and Regular Expressions Revisited
Reductions for Strings and Regular Expressions Revisited
复制标题
DOI:
10.34727/2020/isbn.978-3-85448-042-6_30
复制
发表时间:
2020-09
期刊:
影响因子:
--
通讯作者:
Andrew Reynolds;Andres Nötzli;Clark W. Barrett;C. Tinelli
中科院分区:
文献类型:
--
作者:
Andrew Reynolds;Andres Nötzli;Clark W. Barrett;C. Tinelli
The theory of strings supported by solvers in formal methods contains a large number of operators. Instead of implementing a semi-decision procedure that reasons about all the operators directly, string solvers often reduce operators to a core fragment and implement a semi-decision procedure over that fragment. These reductions considerably increase the number of constraints and thus have to be done carefully to achieve good performance. We propose novel reductions from regular expressions to string constraints and a framework for minimizing the introduction of new variables in current reductions of string constraints. The reductions of regular expression constraints enable string solvers to handle a significant fragment of such constraints without using dedicated reasoning over regular expressions. Minimizing the number of variables in the reduced constraints makes those constraints significantly cheaper to solve by the core solver. An experimental evaluation of our implementation of both techniques in cvc4, a state-of-the-art SMT solver with extensive support for the theory of strings, shows that they significantly improve the solver's performance.