跳到主要内容
研究论文
开放式访问

基于机器学习的复杂软件代码符号执行框架

作者信息和声明
出版:2021年6月1日出版历史
跳过抽象节

摘要

摘要

在程序遍历期间,符号执行收集路径条件并将其提供给约束求解器以获得可行的解决。然而,复杂的路径条件,如非线性在程序中广泛出现的约束很难处理由现有解算器高效执行。在本文中,我们将基于机器学习的经典符号执行框架约束满足方法。方法样本和学习不同的解决方案以确定潜在的可行性区域。这种抽样学习方式的解决方法可以应用于很容易解决不同类别的复杂问题。因此,合并这种方法,我们的框架MLBSE,支持符号不仅执行简单的线性路径条件,而且非线性算术运算,甚至黑盒函数调用库方法的。同时,得益于理论基础在基于机器学习的方法中,当求解器无法求解路径条件,我们可以得到置信度的估计在问题的可满足性(ECS)中为用户提供见解关于如何分析问题以及他们是否能够最终找到解决方案。我们在符号的基础上实现MLBSE将路径查找器(SPF)转换为完全自动的Java符号执行发动机。用户可以将其代码直接提供给MLBSE,即使用非常方便。为了评估其性能,22个真实案例程序被用作MLBSE生成测试的基准案例,共涉及1042种方法非线性运算、浮点运算以及本机方法调用。实验结果表明MLBSE比最先进的工具要高得多。

工具书类

  1. [ABC+13]萨斯瓦特A伯克·埃德蒙德KYueh CT公司约翰·C科恩·迈拉BWolfgang G公司标记H让·HM菲尔·MM等。自动化软件测试用例生成方法的协调调查J系统软件20138681978200110.1016/j.jss.2013.02.061谷歌学者谷歌学者数字图书馆数字图书馆
  2. [apa18]Apache Commons数学(2018)https://commons.apache.org/谷歌学者谷歌学者
  3. 【BAA+12】Borges M、Amorim MD、Anand S、Bushnell D、PSreanu CS(2012)《区间求解和元神经搜索的符号执行》。2012年IEEE第五届软件测试、验证和确认国际会议(ICST)。IEEE,第111-120页谷歌学者谷歌学者
  4. [BEL75]博伊尔·罗伯特·S伯纳德·E莱维特·卡尔·NSelect–通过符号执行测试和调试程序的正式系统ACM SigPlan未197510623424510.1145/390016.808445谷歌学者谷歌学者数字图书馆数字图书馆
  5. [BVLS13]巴尔-厄尔TThanh五世勒夫镇东S自动检测浮点异常ACM SIGPLAN非201348154956010.1145/2480359.2429133谷歌学者谷歌学者数字图书馆数字图书馆
  6. 【CC84】张大伟D克莱顿·戴维A精确鉴定人类线粒体DNA每条链转录的单个启动子单元格19843663564310.1016/0092-8674(84)90343-X谷歌学者谷歌学者
  7. [CDE+08]克里斯蒂安C丹尼尔·D恩格尔·道森R等。Klee:为复杂系统程序自动生成高覆盖率测试OSDI公司20088209224谷歌学者谷歌学者
  8. 【CG95】悉达多C爱德华·G了解大都市-黑斯廷斯算法美国统计局1995494327335谷歌学者谷歌学者
  9. [CGK+11]Cadar C、Godefroid P、Khurshid S、PéSéreanu CS、Sen K、Tillmann N、Visser W(2011)《软件测试实践中的符号执行:初步评估》。摘自:第33届国际软件工程会议记录。ACM,第1066–1071页谷歌学者谷歌学者
  10. [第76条]克拉克·洛里A一种生成测试数据并象征性地执行程序的系统IEEE Trans软件工程197621522242875910.1109/TSE.1976.233817谷歌学者谷歌学者数字图书馆数字图书馆
  11. 【cxt18】圈复杂度(2018)http://eclemma.org/jacoco/trunk/doc/counter.html谷歌学者谷歌学者
  12. 【DA14】Dinges P,Agha G(2014)通过对诱导多边形的启发式搜索解决复杂路径条件。摘自:第22届ACM SIGSOFT软件工程基础国际研讨会论文集。ACM,第425-436页谷歌学者谷歌学者
  13. [达沃斯73]马丁·D希尔伯特的第十个问题无法解决上午数学周一19738023326931791610.1080/00029890.1973.11993265谷歌学者谷歌学者
  14. 【FHT+07】马丁·F克里斯蒂安·H蒂诺·T斯特凡·R托拜厄斯S具有复杂布尔结构的大型非线性算术约束系统的有效求解J满足布尔模型计算200712092361144.68371谷歌学者谷歌学者
  15. [FS16]傅周来,S.,振东,:Xsat:一个快速浮点可满足性求解器。摘自:Chaudhuri,S.,Farzan,A.(编辑)计算机辅助验证,第187-209页。查姆施普林格(2016)谷歌学者谷歌学者
  16. 【GFA13】Galeotti JP、Fraser G、Arcuri A(2013)通过动态符号执行改进基于搜索的测试套件生成。2013年IEEE第24届软件可靠性工程国际研讨会(ISSRE)。IEEE,第360–369页谷歌学者谷歌学者
  17. 【GKS05】帕特里斯·G零KKoushik S公司Dart:定向自动随机测试ACM Sigplan非200540621322310.1145/1064978.1065036谷歌学者谷歌学者数字图书馆数字图书馆
  18. [Glob90]弗雷德·G禁忌搜索:教程接口1990204749410.1287/内部204.74谷歌学者谷歌学者数字图书馆数字图书馆
  19. 【苟09】戈夫BGNU科学图书馆参考手册2009萨里网络理论有限公司谷歌学者谷歌学者数字图书馆数字图书馆
  20. 【GRs04】Gies D,Rahmat-samii Y(2004)用于反射器天线成形的粒子群优化(pso)。2004年天线与传播学会国际研讨会。IEEE,第3卷,第2289–2292页谷歌学者谷歌学者
  21. [小时00分]克劳斯·H托马斯·P使用java pathfinder对java程序进行模型检查国际J Softw Tools Technol Transf20002436638110.1007/s100090050043谷歌学者谷歌学者
  22. [jac18]雅各布(2018)http://www.eclemma.org/jacoco/谷歌学者谷歌学者
  23. [JDM12]约瓦诺维奇DDe Moura L公司格拉姆利希B米勒D塞特勒U求解非线性算法自动推理2012柏林施普林格33935410.1007/978-3-642-31365-3_27谷歌学者谷歌学者数字图书馆数字图书馆
  24. [亲属76]金格尔·詹姆斯·C符号执行和程序测试通用ACM197619738539441850210.1145/360248.360252谷歌学者谷歌学者数字图书馆数字图书馆
  25. [着陆+16]Luckow K,DimjaševićM,Giannakopoulou D,Howar F,Isberner M,Kahsai T,RakamarićZ,Raman V(2016)JDart:动态符号分析框架。收录:Chechik M,Raskin J-F(eds)第22届系统构建与分析工具与算法国际会议论文集,计算机科学课堂讲稿,第9636卷。施普林格,柏林,第442–459页谷歌学者谷歌学者
  26. [LGS96]Willisa L公司杰泽·汉斯J插槽Jan W提高免疫金标记冰冻切片的结构完整性组织化学细胞生物学1996106141582007年10月10日/BF02473201谷歌学者谷歌学者
  27. [LLQ+16]Li X,Liang Y,Qian H,Hu Y-Q,Bu L,Yu Y,Chen X,Li X(2016)基于机器学习的约束求解驱动的复杂程序的符号执行。参见:Lo D、Apel S、Khurshid S(eds)《第31届IEEE/ACM自动化软件工程国际会议论文集》,ASE 2016,新加坡,2016年9月3-7日。ACM,第554-559页谷歌学者谷歌学者
  28. [McM04]菲尔MM基于搜索的软件测试数据生成:一项调查软件测试验证可靠性200414210515610.1002/stvr.294谷歌学者谷歌学者
  29. [最小18]迷你锌(2018)http://www.minizinc.org/谷歌学者谷歌学者
  30. 【Mun14】穆诺斯R从土匪到蒙特卡洛树搜索:乐观原理在优化和规划中的应用发现趋势机器学习201471113010.1561/2200000038谷歌学者谷歌学者数字图书馆数字图书馆
  31. 【PR10】Péséreau CS,Rungta N(2010)《符号探索者:java字节码的符号执行》。摘自:IEEE/ACM自动化软件工程国际会议论文集。ACM,第179-180页谷歌学者谷歌学者
  32. [2007年前]出版社William H数字配方:科学计算的艺术2007剑桥剑桥大学出版社1132.65001谷歌学者谷歌学者
  33. 【PRV11】Péséreanu CS,Rungta N,Visser W(2011)混合混凝土符号求解的符号执行。摘自:2011年软件测试与分析国际研讨会论文集。ACM,第34–44页谷歌学者谷歌学者
  34. 【PV09】佩斯·雷努·科琳娜s威廉五世软件测试和分析中符号执行的新趋势综述国际J Softw Tools Technol Transf20091143393532007年10月10日/10009-009-0118-1谷歌学者谷歌学者
  35. [PVB+13]佩斯·雷努·科琳娜s威廉五世大卫·B杰科G彼得·M尼哈R符号探索者:集成符号执行和模型检查以进行java字节码分析自动软件工程师2013203914252007年10月10日/10515-013-0122-2谷歌学者谷歌学者
  36. [第16季度]Qian H,Yu Y(2016)关于离散域中的采样和分类优化。摘自:2016年IEEE进化计算大会(CEC'16)会议记录,加拿大温哥华,第4374-4381页谷歌学者谷歌学者
  37. 【SA06】森·K阿加GCute和jcute:协调单元测试和显式路径模型检查工具计算机辅助验证2006柏林施普林格41942310.1007/11817963_38谷歌学者谷歌学者数字图书馆数字图书馆
  38. [SB14]Shafiei N,van Breugel F(2014)《java探路者中本地方法的自动处理》。在:2014年SPIN软件模型检查国际研讨会论文集。ACM,第97–100页谷歌学者谷歌学者
  39. 【SBdP11】Souza M系列博尔赫斯M达阿莫林MPéséreau CS公司Coral:为符号探路者解决复杂约束NASA形式化方法2011柏林施普林格35937410.1007/978-3-642-20398-5_26谷歌学者谷歌学者交叉引用交叉引用
  40. [sci18]科学计算(2018)https://github.com/elizabethzhenliu/SientificComputation(科学计算)谷歌学者谷歌学者
  41. [森07]Sen K(2007)《酒精测试》。摘自:第二十二届IEEE/ACM自动化软件工程国际会议论文集。ACM,第571-572页谷歌学者谷歌学者
  42. [SSW+16]Bobak,S.,Kevin,S.,Ziyu,W.,Adams-Ryan,P.,de Freitas Nando,:将人类从循环中剔除:贝叶斯优化综述。程序IEEE104(1), 148–175 (2016)谷歌学者谷歌学者
  43. 【TDH08】Tillmann N,De Halleux J(2008)Pex–白盒测试生成。净值。In:测试和证明。柏林施普林格,第134-153页谷歌学者谷歌学者
  44. 【YQH16】Yu Y,Qian H,Hu Y-Q(2016)分类无导数优化。摘自:亚利桑那州凤凰城第30届AAAI人工智能会议(AAAI'16)会议记录谷歌学者谷歌学者
  45. 【YQH17】Yu Y,Hu Y-Q,Qian H(2017)基于序列分类的直接策略搜索优化。收录:第31届美国人工智能学会人工智能会议(AAAI’17)会议记录,加利福尼亚州旧金山,第2029-2035页谷歌学者谷歌学者

建议

评论

登录选项

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

登录

完全访问权限

  • 发布于

    封面图像计算的形式方面
    计算的形式方面 第33卷第3期
    形式方法与人工智能专题
    2021年6月
    156页
    ISSN公司:0934-5043
    EISSN公司:1433-299X年
    期刊目录

    ©英国计算机学会2021

    出版商

    Springer-Verlag公司

    柏林,海德堡

    出版历史

    • 出版:2021年6月1日
    • 认可的:2021年1月30日
    • 收到时间:2020年9月10日
    发布于传真第33卷第3期

    限定符

    • 研究论文
  • 文章指标

    • 下载次数(过去12个月)63
    • 下载次数(最近6周)

    其他指标

PDF格式

以PDF文件查看或下载。

PDF格式

电子阅读器

使用eReader联机查看。

电子阅读器