当前位置: X-MOL 学术Acta Inform. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A decision procedure for string constraints with string/integer conversion and flat regular constraints
Acta Informatica ( IF 0.6 ) Pub Date : 2023-10-24 , DOI: 10.1007/s00236-023-00446-4
Hao Wu , Yu-Fang Chen , Zhilin Wu , Bican Xia , Naijun Zhan

String constraint solving is the core of various testing and verification approaches for scripting languages. Among algorithms for solving string constraints, flattening is a well-known approach that is particularly useful in handling satisfiable instances. As string/integer conversion is an important function appearing in almost all scripting languages, Abdulla et al. extended the flattening approach to this function recently. However, their approach supports only a special flattening pattern and leaves the support of the general flat regular constraints as an open problem. In this paper, we fill the gap by proposing a complete flattening approach for the string/integer conversion. The approach is built upon a new quantifier elimination procedure for the linear-exponential arithmetic (namely, the extension of Presburger arithmetic with exponential functions, denoted by ExpPA) improved from the one proposed by Cherlin and Point in 1986. We analyze the complexity of our quantifier elimination procedure and show that the decision problem for existential ExpPA formulas is in 3-EXPTIME. Up to our knowledge, this is the first elementary complexity upper bound for this problem. While the quantifier elimination procedure is too expensive to be implemented efficiently, we propose various optimizations and provide a prototypical implementation. We evaluate the performance of our implementation on the benchmarks that are generated from the string hash functions as well as randomly. The experimental results show that our implementation outperforms the state-of-the-art solvers.



中文翻译:

具有字符串/整数转换和平面正则约束的字符串约束的决策过程

字符串约束求解是脚本语言各种测试和验证方法的核心。在解决字符串约束的算法中,展平是一种众所周知的方法,在处理可满足的实例时特别有用。由于字符串/整数转换是几乎所有脚本语言中出现的重要功能,Abdulla 等人。最近将扁平化方法扩展到了该函数。然而,他们的方法仅支持特殊的扁平化模式,而将一般扁平正则约束的支持作为一个悬而未决的问题。在本文中,我们通过提出一种用于字符串/整数转换的完整扁平化方法来填补这一空白。该方法建立在一种新的线性指数算术量词消除程序(即带有指数函数的 Presburger 算术的扩展,用 ExpPA 表示的基础上,该程序从 Cherlin 和 Point 于 1986 年提出的方法进行了改进。我们分析了我们的复杂性量词消除过程并表明存在ExpPA公式的决策问题在 3-EXPTIME 中。据我们所知,这是该问题的第一个基本复杂度上限。虽然量词消除过程过于昂贵而无法有效实现,但我们提出了各种优化并提供了原型实现。我们根据字符串哈希函数以及随机生成的基准来评估我们的实现的性能。实验结果表明,我们的实现优于最先进的求解器。

更新日期:2023-10-24
down
wechat
bug