×

交替控制流重建。 (英语) Zbl 1326.68099号

Kuncak,Viktor(编辑)等人,《验证、模型检查和抽象解释》。2012年1月22日至24日,第13届国际会议,VMCAI 2012,美国宾夕法尼亚州费城。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-27939-3/pbk)。计算机科学课堂讲稿7148267-282(2012)。
摘要:未解析的间接分支指令是从机器代码静态重建控制流图(CFG)的主要障碍。如果静态分析无法为分支计算精确的可能目标集,则必要的保守过近似会引入大量虚假边,从而导致更不精确和退化的CFG。
在本文中,我们建议利用欠近似来处理这个问题。我们为控制流重建提供了一个抽象的解释框架,该框架在过近似和欠近似之间交替。实际上,该框架根据需要为程序规定了额外的先决条件,从而避免了间接分支的保守过度近似。
我们使用动态观察的执行跟踪和常量传播给出了我们的框架的一个示例。我们报告了初步的实验结果,证实了我们的交替分析得出的CFG比纯过近似或欠近似更接近混凝土CFG。
关于整个系列,请参见[Zbl 1236.68007号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Babić,D.,Martignoni,L.,McCamant,S.,Song,D.:静态定向动态自动测试生成。In:程序。Int.Conf.软件。测试与分析(ISSTA 2011)。ACM(2011)·doi:10.145/2004420.2001423
[2] Balakrishnan,G.,Reps,T.W.:分析x86可执行文件中的内存访问。收录:Duesterwald,E.(编辑)CC 2004。LNCS,第2985卷,第5-23页。斯普林格,海德堡(2004)·Zbl 1125.68345号 ·doi:10.1007/978-3-540-24723-42
[3] Bardin,S.、Herrmann,P.、Védrine,F.:基于非结构化程序的精炼CFG重建。收录于:Jhala,R.,Schmidt,D.(编辑)VMCAI 2011。LNCS,第6538卷,第54–69页。斯普林格,海德堡(2011)·Zbl 1317.68028号 ·doi:10.1007/978-3642-18275-46
[4] Beckman,N.E.,Nori,A.V.,Rajamani,S.K.,Simmons,R.J.:测试证明。In:程序。ACM/SIGSOFT国际交响乐团。柔软。测试与分析(ISSTA 2008),第3-14页。ACM(2008)·数字对象标识代码:10.1145/1390630.390634
[5] Chang,B.,Harren,M.,Necula,G.:使用协同反编译器分析低级代码。In:Yi,K.(编辑)SAS 2006。LNCS,第4134卷,第318–335页。斯普林格,海德堡(2006)·数字对象标识代码:10.1007/11823230_21
[6] Chipunov,V.、Kuznetsov,V.和Candea,G.:S2E:软件系统体内多径分析平台。In:程序。第十六条。国际会议《编程语言和操作系统的体系结构支持》(ASPLOS 2011),第265–278页。ACM(2011)·数字对象标识代码:10.1145/1950365.1950396
[7] 库索,P.,库索,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。In:Conf.Rec.第四届ACM研讨会。程序设计语言原理(POPL 1977),第238–252页(1977年1月)·doi:10.1145/512950.512973
[8] De Sutter,B.、De Bus,B.和De Bosschere,K.:用于程序压缩的链接时间二进制重写技术。ACM事务处理。程序。语言系统。 27(5), 882–945 (2005) ·doi:10.1145/1086642.1086645
[9] Godefroid,P.,Klarlund,N.,Sen,K.:Dart:直接自动化随机测试。In:程序。ACM SIGPLAN 2005《编程语言设计与实现》(PLDI 2005),第213-223页。ACM(2005)·数字对象标识代码:10.1145/1065010.1065036
[10] Godefroid,P.,Levin,M.Y.,Molnar,D.A.:自动白盒模糊测试。In:程序。网络和分布式系统安全通信。(NDSS 2008)。互联网社会(2008)
[11] Hex-Rays公司:IDA专业,http://www.hex-rays.com/idapro/
[12] Kästner,D.,Wilhelm,S.:从汇编代码重构通用控制流。In:2002年Jt。嵌入式系统和软件的编译语言、编译器和工具以及嵌入式系统的编译器(LCTES 2002-SCOPES 2002),第46-55页。ACM(2002)·doi:10.1145/513829.513839
[13] Kinder,J.,Veith,H.:Jakstab:二进制文件的静态分析平台。收录:Gupta,A.,Malik,S.(编辑)CAV 2008。LNCS,第5123卷,第423-427页。斯普林格,海德堡(2008)·doi:10.1007/978-3-540-70545-1_40
[14] Kinder,J.,Veith,H.:不可信驱动程序二进制文件的精确静态分析。In:程序。第十届国际会议《计算机辅助设计中的形式方法》(FMCAD 2010),第43–50页。FMCAD公司(2010)
[15] Kinder,J.、Zuleger,F.、Veith,H.:基于抽象解释的二进制控制流重建框架。摘自:Jones,N.D.,Müller-Olm,M.(编辑)VMCAI 2009。LNCS,第5403卷,第214-228页。斯普林格,海德堡(2009)·Zbl 1206.68091号 ·doi:10.1007/978-3-540-93900-9_19
[16] Nanda,S.,Li,W.,Lam,L.,Chiueh,T.:BIRD:使用运行时反汇编进行二进制解释。收录:第四届IEEE/ACM国际研讨会。代码生成和优化(CGO 2006),第358–370页。IEEE计算机学会(2006)·doi:10.1109/CGO.2006.6
[17] Song,D.X.、Brumley,D.、Yin,H.、Caballero,J.、Jager,I.、Kang,M.G.、Liang,Z.、Newsome,J.,Poosankam,P.、Saxena,P.:BitBlaze:通过二进制分析实现计算机安全的新方法。In:Sekar,R.,Pujari,A.K.(编辑)ICISS 2008。LNCS,第5352卷,第1-25页。斯普林格,海德堡(2008)·doi:10.1007/978-3-540-89862-7_1
[18] Thakur,A.V.、Lim,J.、Lal,A.、Burton,A.、Driscoll,E.、Elder,M.、Andersen,T.、Reps,T.:机器代码的定向证明生成。收录:Touili,T.、Cook,B.、Jackson,P.(编辑)CAV 2010。LNCS,第6174卷,第288-305页。斯普林格,海德堡(2010)·doi:10.1007/978-3-642-14295-627
[19] Vigna,G.:静态反汇编和代码分析。收录于:Christororescu,M.,Jha,S.,Maughan,D.,Song,D.X.,Wang,C.(编辑)恶意软件检测,信息安全进展,第27卷,第2章,第19-41页。斯普林格,海德堡(2007)·doi:10.1007/978-0-387-44599-1_2
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。