×

具有字符串/整数转换和平面正则约束的字符串约束的决策过程。 (英语) Zbl 07813602号

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

MSC公司:

68季度xx 计算理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abdulla,P.A.,Atig,M.F.,Chen,Y.,Diep,B.P.,Dolby,J.,Janku,P.,Lin,H.,Holík,L.,Wu,W.:有效处理字符串数字转换。摘自:《第41届ACM SIGPLAN编程语言设计与实现国际会议论文集》,PLDI’20,第943-957页。ACM,美国纽约州纽约市(2020年)。数字对象标识代码:10.1145/3385412.3386034
[2] Abdulla,P.A.,Atig,M.F.,Chen,Y.,Diep,B.P.,Holík,L.,Rezine,A.,Rümmer,P.:扁平化与征服:有效分析字符串约束的框架。摘自:第38届ACM SIGPLAN编程语言设计与实现会议记录,PLDI’17,第602-617页。ACM,美国纽约州纽约市(2017年)。数字对象标识代码:10.1145/3062341.3062384
[3] Abdulla,P.A.,Atig,M.F.,Chen,Y.,Diep,B.P.,Holík,L.,Rezine,A.,Rümmer,P.:Trau:字符串约束的SMT解算器。在:Bjørner,N.S.,Gurfinkel,A.(编辑)《计算机辅助设计中的形式化方法》,FMCAD'18,第1-5页。IEEE,华盛顿特区(2018年)。doi:10.23919/FMCAD.2018.8602997
[4] Abdulla,P.A.,Atig,M.F.,Chen,Y.,Holík,L.,Rezine,A.,Rümmer,P.,Stenman,J.:Norn:字符串约束的SMT解算器。摘自:计算机辅助验证-第27届国际会议,CAV’15。计算机科学课堂讲稿,第9206卷,第462-469页。查姆施普林格(2015)。文件编号:10.1007/978-3-319-21690-4_29
[5] Aydin,A.、Eiers,W.、Bang,L.、Brennan,T.、Gavrilov,M.、Bultan,T.和Yu,F.:字符串和数字约束的参数化模型计数。参见:2018年欧洲软件工程会议暨软件工程基础研讨会ACM联合会议记录,ESEC/SIGSOFT FSE’18,第400-410页。ACM,美国纽约州纽约市(2018年)。数字对象标识代码:10.1145/3236024.3236064
[6] Barrett,C.W.、Conway,C.L.、Deters,M.、Hadarean,L.、Jovanovic,D.、King,T.、Reynolds,A.、Tinelli,C.:CVC4。收录:计算机辅助验证-第23届国际会议,CAV’11。计算机科学讲义,第6806卷,第171-177页。柏林施普林格(2011)。doi:10.1007/978-3642-22110-14
[7] Chen,T.,Chen,Y.,Hague,M.,Lin,A.W.,Wu,Z.:用replace all函数来决定字符串约束是什么。收录:美国计算机学会程序设计语言2(POPL)会议记录,3-1329(2018)doi:10.1145/3158091
[8] Cherlin,G.,Point,F.:关于presburger算术的扩展。摘自:《第四届复活节模型理论会议论文集》,格罗斯·柯里斯,第17-34页(1986年)。https://webusers.imj-prg.fr/ ·Zbl 0634.03006号
[9] 库珀,DC,无乘法算术定理证明,马赫。智力。,7, 91-100, (1972) ·Zbl 0258.68046号
[10] Day,J.D.,Ganesh,V.,He,P.,Manea,F.,Nowotka,D.:单词方程的可满足性:可判定和不可判定理论。摘自:可达性问题——第12届国际会议,RP’18。计算机科学课堂讲稿,第11123卷,第15-29页。查姆施普林格(2018)。doi:10.1007/978-3-030-00250-32·Zbl 1515.68256号
[11] ECMAScript,E.,Association,E.C.M.,et al.:ECMAScript语言规范(2019)。https://www.ecma-international.org/ecma-262/
[12] Haase,C.:presburger算法的子类和弱EXP层次结构。参见:第二十届EACSL计算机科学逻辑年会(CSL)和第二十届ACM/IEEE计算机科学逻辑研讨会(LICS)联合会议,CSL-LICS’14,奥地利维也纳,2014年7月14日至18日,第47-14710页。ACM,美国纽约州纽约市(2014年)。doi:10.1145/2603088.2603092·Zbl 1394.68153号
[13] 哈代,GH;Wright,EM,《数字理论导论》(2008),牛津:克拉伦登出版社,牛津·doi:10.1093/oso/9780199219858.001.0001
[14] Holík,L.、Janku,P.、Lin,A.W.、Rümmer,P.和Vojnar,T.:字符串约束与级联和换能器的有效解决。在:美国计算机学会编程语言会议录2(POPL),4-1432(2018)doi:10.145/3158092
[15] 基辅,A。;加内什,V。;阿尔齐,S。;郭,PJ;Hooimeijer,P。;Ernst,MD,HAMPI:字符串、正则表达式和无上下文语法上的单词方程求解器,ACM Trans。柔和。工程方法。,21, 4, 25-12528, (2012) ·doi:10.1145/2377656.2377662
[16] Li,G.,Ghosh,I.:PASS:使用参数化数组和区间自动机进行字符串求解。在:硬件和软件:验证和测试-第九届国际海法验证会议,HVC’13。计算机科学课堂讲稿,第8244卷,第15-31页。查姆施普林格(2013)。doi:10.1007/978-3-319-03077-7_2·Zbl 1295.68018号
[17] Makanin,GS,自由半群中方程的可解性问题,Matematicheskii Sbornik,145,2,147-236,(1977)·Zbl 0371.20047号
[18] Moura,L.M.,Björner,N.S.:Z3:高效SMT求解器。摘自:《系统构建和分析的工具和算法》,第14届国际会议,TACAS'08。《计算机科学讲义》,第4963卷,第337-340页。施普林格,柏林,海德堡(2008)。doi:10.1007/978-3-540-78800-3_24
[19] Oppen,D.C.:presburger算法的基本边界。摘自:第五届ACM计算机理论研讨会论文集,STOC'73,第34-37页。ACM,美国纽约州纽约市(1973年)。doi:10.1145/800125.804033·Zbl 0306.02044号
[20] Plandowski,W.:带常数的单词方程的可满足性在PSPACE中。摘自:第40届计算机科学基础年会,FOCS’99,第495-500页。IEEE计算机学会,华盛顿特区(1999)。doi:10.1109/SFFCS.1999.814622
[21] 点,F.:关于普雷斯伯格算法的展开式((mathbb{N},+,2^x)。(2007). 未发布。https://webusers.imj-prg.fr/
[22] Saxena,P.、Akhawe,D.、Hanna,S.、Mao,F.、McCamant,S.和Song,D.:javascript的符号执行框架。摘自:第31届IEEE安全与隐私研讨会,S&P’10,第513-528页。IEEE计算机学会,华盛顿特区(2010年)。doi:10.1109/SP.2010.38
[23] Semönov,AL,自然数集上一位函数的逻辑理论,数学。苏联伊兹韦斯蒂亚,22,3587-618,(1984)·Zbl 0541.03005号 ·doi:10.1070/IM1984v022n03ABEH001456
[24] Trinh,M.、Chu,D.、Jaffar,J.:S3:一种用于web应用程序漏洞检测的符号字符串解算器。摘自:Ahn,G.,Yung,M.,Li,N.(编辑)《2014年ACM SIGSAC计算机和通信安全会议论文集》,第1232-1243页。ACM,美国纽约州纽约市(2014年)。数字对象标识代码:10.1145/2660267.2660372
[25] Yu,F.,Alkhalaf,M.,Bultan,T.:陌生人:PHP的基于自动机的字符串分析工具。摘自:《系统构建和分析的工具和算法》,第16届国际会议,TACAS’10。《计算机科学讲义》,第6015卷,第154-157页。施普林格,柏林,海德堡(2010)。doi:10.1007/978-3642-12002-2_13
[26] Zheng,Y.,Zhang,X.,Ganesh,V.:Z3-str:基于Z3的web应用程序分析字符串解算器。参见:欧洲软件工程会议和ACM SIGSOFT软件工程基础研讨会联合会议,ESEC/FSE’13,第114-124页。ACM,美国纽约州纽约市(2013年)。doi:10.1145/2491411.2491456
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。