跳到主要内容
登录

StrSolve解决方案:延迟求解字符串约束

  • 出版:
自动化软件工程 目标和范围 提交手稿

摘要

关于字符串的推理正成为许多程序分析和测试框架核心的关键步骤。独立的字符串约束求解工具,称为决策过程,是该领域最近的研究重点。这项工作的目的是通过定义良好的接口提供各种程序分析可以使用的算法和实现。这种分离可以独立改进字符串约束求解算法,并减少客户端工作量。

我们出席StrSolve解决方案,一个判断过程,它对字符串变量上的方程进行推理。我们的方法可以很好地衡量输入约束的大小,特别是与其他当代技术相比。我们的方法对满意的赋值执行显式搜索,但基于自动机表示惰性地构造搜索空间。我们通过将我们的方法与现有的四个字符串决策程序在许多任务上进行比较,对我们的方法进行了实证评估。我们发现,我们的原型平均比现有最快的方法快几个数量级,并且证明了我们的惰性搜索空间枚举占了大部分优势。

这是订阅内容的预览,通过机构登录 以检查访问。

访问此文章

价格包括增值税(中国)

即时访问完整的文章PDF。

图1
图2
图3
图4
图5
图6
图7
图8

其他人正在查看的类似内容

笔记

  1. http://code.google.com/p/strsolve/.

  2. 汉皮后来增加了对长度范围的支持;在撰写本文时,它是使用一种非常类似的方法实现的。

工具书类

  • Axelsson,R.,Heljanko,K.,Lange,M.:使用增量sat解算器分析上下文无关文法。摘自:自动化、语言和编程国际学术讨论会,第410-422页(2008年)。数字对象标识:10.1007/978-3-540-70583-3_34

    第章 谷歌学者 

  • Balzarotti,D.、Cova,M.、Felmetsger,V.、Jovanovic,N.、Kirda,E.、Kruegel,C.、Vigna,G.:Saner:组成静态和动态分析,以验证web应用程序中的卫生处理。摘自:IEEE安全与隐私研讨会,第387–401页(2008年)

    谷歌学者 

  • Björner,N.、Tillmann,N.和Voronkov,A.:串操作程序的路径可行性分析。In:系统构建和分析的工具和算法(2009)

    谷歌学者 

  • Bryant,R.E.:布尔函数操作的基于图形的算法。IEEE传输。计算。35(8), 677–691 (1986)

    第条 数学 谷歌学者 

  • Cadar,C.、Godefroid,P.、Khurshid,S.、Pasareanu,C.S.、Sen,K.、Tillmann,N.、Visser,W.:软件测试实践中的符号执行:初步评估。摘自:软件工程国际会议,第1066–1071页(2011年)

    谷歌学者 

  • Christensen,A.S.,Möller,A.,Schwartzbach,M.I.:字符串表达式的精确分析。摘自:国际静态分析研讨会,第1-18页(2003年)

    谷歌学者 

  • de Moura,L.M.,Björner,N.:Z3:高效SMT求解器。In:系统构建和分析的工具和算法(2008)

    谷歌学者 

  • Detlefs,D.,Nelson,G.,Saxe,J.B.:简化:程序检查的定理证明器。美国临床医学杂志52(3), 365–473 (2005). 数字对象标识:10.1145/1066100.1066102

    第条 数学科学网 谷歌学者 

  • Eén,n.,Sörensson,n.:可扩展卫星解算器。《可满足性测试的理论与应用》,第502-518页(2003年)

    谷歌学者 

  • Fu,X.,Li,C.C.:字符串约束求解的常规替换建模。摘自:穆尼奥斯·C(编辑)《第二届美国国家航空航天局正式方法研讨会(NFM 2010)会议记录》,NASA/CP-2010-216215,美国国家航空和宇宙航行局,兰利研究中心,弗吉尼亚州汉普顿,23681-2199,美国,第67-76页(2010)

    谷歌学者 

  • Fu,X.,Powell,M.,Bantegui,M.、Li,C.C.:简单线性字符串约束。表Asp。计算。1–45 (2012). 数字对象标识:2007年10月10日/00165-011-0214-3

  • 富士通实验室:富士通开发技术以增强Java程序的全面测试(2010年)。统一资源定位地址http://www.fujitsu.com/global/news//proarchives/month/2010/2010100112-02.html

  • Ganesh,V.,Dill,D.L.:位向量和数组的决策过程。摘自:计算机辅助验证,第519–531页(2007年)

    第章 谷歌学者 

  • Godefroid,P.,Klarlund,N.,Sen,K.:DART:直接自动化随机测试。In:编程语言设计与实现(2005)

    谷歌学者 

  • Godefroid,P.,Kiezun,A.,Levin,M.Y.:基于语法的白盒模糊。In:编程语言设计与实现(2008a)

    谷歌学者 

  • Godefroid,P.,Levin,M.,Molnar,D.:自动白盒模糊测试。In:网络分布式安全研讨会(2008b)

    谷歌学者 

  • Henriksen,J.、Jensen,J、Jörgensen,M.、Klarlund,N.、Paige,B.、Rauhe,T.、Sandholm,A.:Mona:实践中的一元二阶逻辑。In:TACAS’95。LNCS,第1019卷。柏林施普林格(1995)

    谷歌学者 

  • Hooimeijer,P.,Veanes,M.:字符串分析自动机算法的评估。摘自:验证、模型检查和摘要解释,第248-262页(2011年)

    第章 谷歌学者 

  • Hooimeijer,P.,Weimer,W.:正则语言子集约束的决策过程。摘自:《编程语言设计与实现》,第188-198页(2009年)

    谷歌学者 

  • Hooimeijer,P.,Weimer,W.:懒散地解决字符串约束。摘自:自动化软件工程,第377–386页(2010年)

    谷歌学者 

  • Hooimeijer,P.、Livshits,B.、Molnar,D.、Saxena,P.和Veanes,M.:使用bek快速准确地分析消毒剂。摘自:USENIX安全研讨会,第1-15页(2011年)

    谷歌学者 

  • 伊利·L·余·S:跟随自动机。Inf.计算。186(1), 140–162 (2003). 数字对象标识:10.1016/S0890-5401(03)00090-7

    第条 数学科学网 数学 谷歌学者 

  • Kiezun,A.,Ganesh,V.,Guo,P.J.,Hooimeijer,P.,Ernst,M.D.:Hampi:字符串约束的求解器。摘自:软件测试与分析国际研讨会,第105–116页(2009年)

    谷歌学者 

  • Lakhotia,K.,McMinn,P.,Harman,M.:在基于搜索的测试中处理动态数据结构。摘自:《遗传与进化计算会议论文集》,第1759-1766页(2008)

    谷歌学者 

  • Lakhotia,K.,McMinn,P.,Harman,M.:覆盖率的自动测试数据生成:我们还没有解决这个问题吗?摘自:测试学术和工业会议,第95-104页(2009年)

    第章 谷歌学者 

  • Lakhotia,K.,McMinn,P.,Harman,M.:使用cute和Austin对c程序的分支覆盖进行实证调查。J.系统。柔和。83(12), 2379–2391 (2010)

    第条 谷歌学者 

  • Li,N.,Xie,T.,Tillmann,N.、de Halleux,J.、Schulte,W.:Reggae:使用复杂正则表达式的程序自动测试生成。In:自动化软件工程短文(2009)

    谷歌学者 

  • Majumdar,R.,Sen,K.:混合调和试验。摘自:软件工程国际会议,第416–426页(2007年)

    谷歌学者 

  • Majumdar,R.,Xu,R.G.:使用符号语法的定向测试生成。在:自动化软件工程,第134-143页(2007年)

    谷歌学者 

  • Minamide,Y.:动态生成网页的静态近似。摘自:万维网国际会议,第432-441页(2005年)。http://doi.acm.org/10.1145/1060745.1060809

    谷歌学者 

  • Möller,A.,Schwartzbach,M.I.:指针断言逻辑引擎。收录于:编程语言设计与实现,第221-231页(2001年)

    谷歌学者 

  • Moskewicz,M.W.,Madigan,C.F.,Zhao,Y.,Zhang,L.,Malik,S.:Chaff:设计高效的sat求解器。摘自:设计自动化会议,第530-535页(2001年)

    谷歌学者 

  • Necula,G.C.:防卡码。摘自:《程序设计语言原理》,第106–119页(1997年)

    谷歌学者 

  • Pasareanu,C.S.,Mehlitz,P.C.,Bushnell,D.H.,Gundy-Burlet,K.,Lowry,M.R.,Person,S.,Pape,M.:结合单元级符号执行和系统级具体执行来测试NASA软件。摘自:软件测试与分析国际研讨会,第15-26页(2008年)

    谷歌学者 

  • Saxena,P.、Akhawe,D.、Hanna,S.、Mao,F.、McCamant,S.和Song,D.:javascript的符号执行框架。摘自:IEEE安全与隐私研讨会,第513–528页(2010年)

    第章 谷歌学者 

  • Sipser,M.:《计算理论导论》,第二版。独立技术课程(1997)

    数学 谷歌学者 

  • Su,Z.,Wassermann,G.:web应用程序中命令注入攻击的本质。摘自:《程序设计语言原理》,第372-382页(2006年)

    谷歌学者 

  • Tateishi,T.,Pistoia,M.,Tripp,O.:基于一元二阶逻辑的路径和索引敏感字符串分析。摘自:ISSTA’11,第166-176页。ACM,纽约(2011)

    谷歌学者 

  • Veanes,M.,de Halleux,P.,Tillmann,N.:雷克斯:符号正则表达式探索者。摘自:软件测试、验证和确认国际会议,第498–507页(2010年)

    第章 谷歌学者 

  • Veanes,M.、Hooimeijer,P.、Livshits,B.、Molnar,D.、Björner,N.:符号有限状态传感器:算法和应用。摘自:《程序设计语言原理》,第137-150页(2012年)

    谷歌学者 

  • Wassermann,G.,Su,Z.:针对注入漏洞对web应用程序进行可靠而精确的分析。摘自:《编程语言设计与实现》,第32–41页(2007年)

    谷歌学者 

  • Wassermann,G.,Su,Z.:跨站点脚本漏洞的静态检测。参加:国际软件工程会议(2008)

    谷歌学者 

  • Weimer,W.,Nguyen,T.,Le Goues,C.,Forrest,S.:使用遗传编程自动查找补丁。摘自:软件工程国际会议,第364-374页(2009年)

    谷歌学者 

  • Xie,Y.,Aiken,A.:Saturn:基于SAT的漏洞检测工具。In:计算机辅助验证,第139-143页(2005年)

    第章 谷歌学者 

  • Xie,Y.,Aiken,A.:脚本语言中安全漏洞的静态检测。收录于:USENIX安全研讨会,第179-192页(2006年)

    谷歌学者 

  • Yu,F.,Alkhalaf,M.,Bultan,T.:使用基于自动机的正向和反向符号分析为字符串操作程序生成漏洞签名。摘自:自动化软件工程,第605-609页(2009a)

    谷歌学者 

  • Yu,F.,Bultan,T.,Ibarra,O.H.:符号字符串验证:结合字符串分析和大小分析。In:系统构建和分析的工具和算法(2009b)

    谷歌学者 

  • Yu,F.,Bultan,T.,Ibarra,O.H.:使用多轨道自动机的关系字符串验证。In:自动化实现和应用会议,第290-299页(2010年)

    谷歌学者 

  • Yu,F.,Alkhalaf,M.,Bultan,T.:使用消毒合成修补漏洞。摘自:软件工程国际会议,第251-260页(2011年)

    谷歌学者 

下载参考资料

作者信息

作者和附属机构

作者

通讯作者

与的通信彼得·胡伊梅耶尔.

其他信息

我们感谢美国国家科学基金会(CCF-0905236、CCF-0954024和CNS-0716478)、空军科学研究办公室(FA8750-11-2-0039)、MURI(MURI)(FA9550-07-1-0532)和DARPA(DARPA)(FA8650-10-C-7089)的支持。

权利和权限

转载和许可

关于本文

引用这篇文章

Hooimeijer,P.,Weimer,W。StrSolve解决方案:延迟求解字符串约束。自动软件工程 19, 531–559 (2012). https://doi.org/10.1007/s10515-012-0111-x

下载引文

  • 收到:

  • 已接受:

  • 出版:

  • 发布日期:

  • 内政部:https://doi.org/10.1007/s10515-012-0111-x

关键词

导航