跳到主要内容
10.1145/2001420.2001424acm会议文章/章节视图摘要出版物页面伊斯塔会议记录会议集合
研究论文

动态测试生成中的自动部分循环摘要

出版:2011年7月17日出版历史

摘要

白盒模糊化将基于符号执行和约束求解的动态测试生成从单元测试扩展到整个应用程序安全测试。不幸的是,输入相关循环可能会导致要解决的约束数量和要探索的执行路径数量激增。实际上,由于输入相关的循环,白盒模糊器任意地限制了约束和路径的数量,从而存在丢失代码和错误的风险。

在这项工作中,我们研究了如何使用简单的循环保护模式匹配规则来自动猜测输入约束,该输入约束定义了动态符号执行期间输入相关循环的迭代次数。我们动态地发现程序的循环结构,检测诱导变量,它们是在循环迭代期间由常量值修改的变量,并推断与这些变量的值相关的简单部分循环不变量。每当在当前动态符号执行过程中稍后确认猜测时,我们就会注入表示循环前和循环后条件的新约束,从而有效地总结该循环的执行集。这些前置条件和后置条件是从使用环路保护和归纳变量的模式匹配规则动态合成的部分环路不变量中导出的,无需任何静态分析、定理证明或输入格式规范。这项技术已经在白盒模糊器SAGE中实现,可以扩展到具有许多嵌套循环的大型程序,并且我们给出了使用Windows 7图像解析器的实验结果。

工具书类

  1. S.Anand、P.Godefroid和N.Tillmann。需求驱动的合成符号执行。2008年TACAS,第4963卷,共LNCS公司,第367-381页,布达佩斯,2008年4月。斯普林格·弗拉格。谷歌学者谷歌学者数字图书馆数字图书馆
  2. S.Artzi、A.Kiezun、J.Dolby、F.Tip、D.Dig、A.M.Paradkar和M.D.Ernst。使用动态测试生成和显式状态模型检查查找Web应用程序中的错误。IEEE传输。软件工程。, 36(4):474--494, 2010.谷歌学者谷歌学者数字图书馆数字图书馆
  3. T.Ball、O.Kupferman和M.Sagiv。抽象中的跳跃循环。2007年CAV2007年7月,柏林。谷歌学者谷歌学者数字图书馆数字图书馆
  4. M.Barnett、B.E.Chang、R.DeLine、B.Jacobs和K.R.M.Leino。Boogie:面向对象程序的模块化可重用验证器。2005年FMCO,第4111卷,共4111卷LNCS公司,第364-387页。Springer-Verlag,2006年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  5. B.Boigelot和P.Godefroid。使用QDD对具有无限状态空间的通信协议进行符号验证。CAV’96型,第1102卷,共1102卷LNCS公司,第1-12页,新不伦瑞克,1996年8月。斯普林格·弗拉格。谷歌学者谷歌学者数字图书馆数字图书馆
  6. C.Cadar、V.Ganesh、P.M.Pawlowski、D.L.Dill和D.R.Engler。EXE:自动生成死亡输入。ACM CCS系统, 2006.谷歌学者谷歌学者数字图书馆数字图书馆
  7. L.de Moura和N.Bjorner。Z3:高效的SMT求解器。2008年TACAS,第4963卷,共LNCS公司,第337-340页,布达佩斯,2008年4月。斯普林格·弗拉格。谷歌学者谷歌学者数字图书馆数字图书馆
  8. M.Emmi、R.Majumdar和K.Sen.数据库应用程序的动态测试输入生成。ISSTA’2007,第151-162页,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. P.戈德弗里德。合成动态测试生成。2007年流行音乐节,第47-54页,尼斯,2007年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  10. P.戈德弗里德。软件模型检查提高了十亿台计算机的安全性。2009年SPIN,第5578卷,共LNCS公司,第1页,格勒诺布尔,2009年6月。斯普林格·弗拉格。谷歌学者谷歌学者数字图书馆数字图书馆
  11. P.Godefroid、N.Klarlund和K.Sen.DART:定向自动随机测试。2005年PLDI,第213-223页,芝加哥,2005年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  12. P.Godefroid、M.Y.Levin和D.Molnar。自动白盒模糊测试。2008年NDSS,第151-166页,圣地亚哥,2008年2月。谷歌学者谷歌学者
  13. P.Godefroid、A.V.Nori、S.K.Rajamani和S.D.Tetali。五月份必须进行的组合节目分析:释放交替的力量。2010年流行音乐节,第43-55页,马德里,2010年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  14. D.Molnar、X.C.Li和D.Wagner。动态测试生成以发现x86二进制linux程序中的整数错误。程序。第18届Usenix安全研讨会2009年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  15. C.Pasareanu和W.Visser。使用符号执行和不变量生成验证Java程序。2004年SPIN,第2989卷,共页LNCS公司2004年4月,巴塞罗那。斯普林格·弗拉格。谷歌学者谷歌学者
  16. P.Saxena、D.Akhawe、S.Hanna、F.Mao、S.McCamant和D.Song。JavaScript的符号执行框架。IEEE安全与隐私研讨会,第513页至第528页,2010年。谷歌学者谷歌学者数字图书馆数字图书馆
  17. P.Saxena、P.Poosankam、S.McCamant和D.Song。二进制程序上的循环扩展符号执行。ISSTA’2009,第225-236页,芝加哥,2009年7月。谷歌学者谷歌学者数字图书馆数字图书馆
  18. N.Tillmann和J.de Halleux。Pex-的白盒测试生成。净利润。2008年TAP,第4966卷,共LNCS公司,第134-153页。Springer-Verlag,2008年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  19. A.Tsitovich、N.Sharygina、Ch.Wintersteiger和D.Kroening。循环总结和终止分析。将出现在2011年TACAS2011年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  20. R.Xu、P.Godefroid和R.Majumdar。使用长度抽象测试缓冲区溢出。ISSTA’2008,第27-38页,西雅图,2008年7月。谷歌学者谷歌学者数字图书馆数字图书馆

建议

评论

登录选项

检查您是否可以通过登录凭据或您的机构访问本文。

登录

完全访问权限

  • 发布于

    封面图片ACM会议
    ISSTA’11:2011年软件测试与分析国际研讨会论文集
    2011年7月
    394页
    国际标准图书编号:9781450305624
    内政部:10.1145/2001420

    版权所有©2011 ACM

    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    • 出版:2011年7月17日

    权限

    请求有关此文章的权限。

    请求权限

    检查更新

    限定符

    • 研究论文

    接受率

    总体验收率58属于213提交,27%

    即将召开的会议

    ISSTA’24
    第33届ACM SIGSOFT国际软件测试与分析研讨会
    2024年9月16日至20日
    维也纳,奥地利

PDF格式

以PDF文件的形式查看或下载。

PDF格式

电子阅读器

使用eReader联机查看。

电子阅读器