×

符号执行的通用框架:共创方法。 (英语) Zbl 1356.68044号

摘要:我们提出了一个独立于语言的符号执行框架。该方法由语言定义参数化,语言定义由语言语法和执行基础结构的签名、解释签名的模型以及语言操作语义的重写规则组成。然后,符号执行相当于使用导数操作。我们证明了这样定义的符号执行具有自然期望的属性,这意味着程序的可行符号执行和同一程序的具体执行相互模拟。我们还展示了如何将基于共约的符号执行扩展用于程序的演绎验证。我们展示了如何在基于重写的语言定义框架(如\(mathbb{K})框架)中无缝地实现所提出的符号执行方法和基于该方法的共导验证技术。我们用非平凡程序的符号分析和演绎验证来说明它。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68问题55 计算理论中的语义学
68瓦30 符号计算和代数计算
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] Ahrendt,W.,The KeY工具,Softw。系统。型号。,4, 32-54 (2005)
[2] 阿曼多,亚历山德罗;马西莫·贝内雷切蒂;Mantovani,Jacopo,用数组检查线性程序模型,Electron。注释Theor。计算。科学。,144, 3, 79-94 (2006)
[3] 安德烈·阿鲁索艾;多雷尔·卢卡努;Rusu,Vlad,符号执行的通用框架,(第六届软件语言工程国际会议,第六届国际软件语言工程会议,计算机科学讲义,第8225卷(2013年),Springer Verlag),281-301,另见技术报告·Zbl 1356.68044号
[4] 安德烈·阿鲁索艾;多雷尔,卢卡努;Rusu,Vlad,基于语言转换的符号执行,计算。语言系统。结构。,44, 48-71 (2015) ·Zbl 1321.68359号
[5] Mike Barnett;Rustan,K。;M.莱诺。;Schulte,Wolfram,《规范#编程系统:概述》(Proc.2004安全、安全和互操作智能设备构造和分析国际会议,Proc.2004安全安全互操作智能装置构造和分析的国际会议,CASSIS’04(2005)),49-69
[6] 乔什·伯丁(Josh Berdine);加尔卡尼奥、克里斯蒂亚诺;O'Hearn,Peter W.,《分离逻辑的符号执行》,(《编程语言和系统》,第三届亚洲研讨会。《编程语言与系统》,《第三届亚洲人研讨会》,APLAS。《程序语言与系统,第三次亚洲研讨会》,《编程语言及系统》,APLA,《计算机科学讲义》,第3780卷(2005),斯普林格),52-68·Zbl 1159.68363号
[7] 克里斯蒂安·卡达尔;丹尼尔·邓巴(Daniel Dunbar);Engler,Dawson,Klee:复杂系统程序高覆盖率测试的自动生成,(第八届USENIX操作系统设计与实现会议论文集,第八届操作系统设计和实现会议论文集中,OSDI’08(2008)),209-224
[8] 克里斯蒂安·卡达尔;维杰·加内什;Peter M.Pawlowski。;Dill,David L。;Engler,Dawson R.,EXE:自动生成死亡输入,(ACM计算机和通信安全会议(2006)),322-335
[9] 埃德蒙·克拉克;Daniel Kroening,以ANSI-C程序为参考进行硬件验证,(2003年亚洲和南太平洋设计自动化会议论文集。2003年亚洲及南太平洋设计自动会议论文集,ASP-DAC’03(2003),ACM:ACM纽约,纽约,美国),308-311
[10] 曼努埃尔·克拉维尔;弗朗西斯科·杜兰;史蒂文·艾克(Steven Eker);帕特里克·林肯;Oliet,Narciso M。;乔斯·梅塞盖尔;Talcott,Carolyn,All About Maude-高性能逻辑框架:如何在重写逻辑中指定、编程和验证系统,计算机科学讲义(2007),施普林格·Zbl 1115.68046号
[11] 科恩·波里西尼,阿尔贝托;乔瓦尼·德纳罗(Giovanni Denaro);卡洛·盖齐(Carlo Ghezzi);Mauro Pezzé,《使用符号执行验证安全关键系统》,Softw。工程注释,26,5,142-151(2001)
[12] 托马斯·科尔曼(Thomas H.Cormen)。;查尔斯·雷瑟森(Charles E.Leiserson)。;里维斯,罗纳德·L·。;Stein,Clifford,《算法导论》(2009),麻省理工学院出版社·Zbl 1187.68679号
[13] 安德烈·特夫内斯库(Andrei tefénescu);Ciobácé,ötefan;拉杜·梅鲁;布兰登·M·摩尔(Brandon M.Moore)。;⑩erbénuţ\355 ;Ņé,Traian Florin;Rošu,Grigore,全通可达逻辑, (第25届改写技术与应用联合国际会议和第12届打字Lambda演算与应用国际会议的会议记录-TLCA’14。第25届改写技术与应用联合国际会议和第12届打字Lambda演算与应用国际会议记录。《第25届改写技术与应用联合国际会议和第12届打字Lambda演算与应用国际会议论文集》,RTA-TLCA’14,《计算机科学讲义》,第8560卷(2014年7月),斯普林格出版社,425-440·Zbl 1416.68052号
[14] 崔鹤鸣;胡刚;吴景岳;Yang,Junfeng,使用规则定向符号执行验证系统规则,ACM SIGPLAN Not。,48,4329-342(2013年3月)
[15] 乔纳森·德·哈勒克斯(Jonathan de Halleux);Tillmann,Nikolai,用Pex进行参数化单元测试,(测试和证明,第二届国际会议。测试和证明。第二次国际会议,计算机科学讲稿,第4966卷(2008),Springer),171-181
[16] 莱昂纳多·德·莫拉;Björner,Nikolaj,Z3:高效的SMT求解器,(系统构建和分析的工具和算法,第14届国际会议。系统构建与分析的工具与算法,第十四届国际会议,TACAS'08。第14届国际会议《系统构建和分析的工具和算法》。系统构建和分析的工具和算法,第14届国际会议,TACAS’08,计算机科学讲稿,第4963卷(2008),Springer),337-340·兹比尔1133.68009
[17] 圣地亚哥埃斯科瓦尔;何塞·梅塞盖尔;Sasse,Ralf,变量缩小和方程统一,电子。注释Theor。计算。科学。,238, 3, 103-119 (2009) ·Zbl 1347.68194号
[18] Filliâtre,Jean-Christophe,KMP字符串搜索算法的证明(1998)
[19] Jean-Christophe Filliátre;Paskevich,Andrei,Why3-where programs meet providers,(第22届欧洲程序设计研讨会论文集。第22届欧盟程序设计研讨会文献集,计算机科学讲义,第7792卷(2013年3月),Springer),125-128·Zbl 1435.68366号
[20] 戈德弗里德,帕特丽斯;克拉伦德,尼尔斯;Sen,Koushik,DART:定向自动随机测试(ACM SIGPLAN 2005编程语言设计与实现会议论文集(2005),ACM),213-223
[21] 戴维·哈雷尔(David Harel);德克斯特·科赞;《动态逻辑》(哲学逻辑手册(1984年),麻省理工学院出版社),497-604·Zbl 0875.03076号
[22] 巴特·雅各布斯;Smans,Jan;弗兰克·皮森斯(Frank Piessens),《verifast程序验证器快速巡视》(《第八届亚洲编程语言和系统会议论文集》,《第八次亚洲编程语言与系统会议论文录》,APLAS’10(2010),《Springer-Verlag:Springer-Verlag Berlin/Heidelberg》),304-311
[23] 佐治亚州贾法;Vijayaraghavan Murali;豪尔赫·纳瓦斯(Jorge A.Navas)。;Santosa,Andrew E.,TRACER:一种用于验证的符号执行工具,(《计算机辅助验证——第24届国际会议,2012年会议记录》。《计算机辅助检验——第24次国际会议记录》,2012年,CAV 2012,加利福尼亚州伯克利,美国,7月7日至13日。计算机辅助验证——第24届国际会议,2012年会议记录。计算机辅助验证——第24届国际会议,2012年会议记录,CAV 2012,伯克利,加利福尼亚州,美国,7月7日至13日,计算机科学讲稿(2012),斯普林格,758-766·Zbl 1478.68164号
[24] 詹姆斯·金(James C.King),《符号执行和程序测试》(Symbolic execution and program testing),Commun。ACM,19,7,385-394(1976)·Zbl 0329.68018号
[25] 唐纳德·科努特(Donald E.Knuth)。;莫里斯,J.H。;沃恩·R·普拉特,《字符串中的快速模式匹配》,SIAM J.Compute。,6, 2, 323-350 (1977) ·Zbl 0372.68005号
[26] 多雷尔·卢卡努;鲁苏、弗拉德;安德烈·阿鲁索艾;David Nowak,验证重写逻辑规范的可达性逻辑属性,(《献给何塞·梅塞格尔65岁生日之际的逻辑、重写和并发随笔》。《献给何塞·梅塞格尔65岁生日之际的逻辑、重写和并发随笔》,《计算机科学讲义》,第9200卷(2015),施普林格),451-474·Zbl 1321.68359号
[27] 多雷尔·卢卡努;⑩erbénuţ෤軒柃,Traian-Florin,CinK-关于如何用K思考的练习(2013年12月),亚历山德鲁·伊昂库扎大学计算机科学学院,技术报告TR 12-03,第2版
[29] 何塞·梅塞盖尔;Thati,Prasanna,使用窄化的符号可达性分析及其在密码协议验证中的应用,高等-订购符号。计算。,20, 1-2, 123-160 (2007) ·Zbl 1115.68079号
[30] 布兰登·摩尔(Brandon Moore);Rošu,Grigore,《通过共创进行项目验证》(2015年2月),伊利诺伊大学,技术报告
[31] 劳伦斯·S·莫斯。;诺曼·丹纳(Norman Danner),《在共蚀的基础上》(On the foundations of corecursion),《对数》(Log)。J.IGPL,5,2,231-257(1997)·Zbl 0872.03030号
[32] 科琳娜·s·帕斯·雷纳。;Rungta,Neha,符号路径查找器:Java字节码的符号执行,(国际自动化软件工程会议。国际自动化软件工程会议,ASE’10(2010),ACM),179-180
[33] 科琳娜·s·帕斯·雷纳。;Willem Visser,《使用符号执行和不变量生成验证Java程序》,(SPIN.SPIN,计算机科学讲义,第2989卷(2004),Springer),164-181·Zbl 1125.68367号
[34] 科琳娜·s·帕斯·雷纳。;Willem Visser,《软件测试和分析符号执行新趋势的调查》,Int.J.Softw。技术工具。传输。,11, 4, 339-353 (2009)
[35] 戴维·拉莫斯(David A.Ramos)。;Engler,Dawson R.,实际的、低工作量的真实代码等效验证,(第23届计算机辅助验证国际会议论文集。第23届国际计算机辅助验证会议论文集,CAV’11(2011),Springer-Verlag:Springer-Verlag Berlin/Heidelberg),669-685
[36] Reynolds,John C.,《分离逻辑:共享可变数据结构的逻辑》,(第17届IEEE计算机科学逻辑研讨会论文集。第17届电气与电子工程师协会计算机科学逻辑会议论文集,LICS’02(2002),IEEE计算机学会:美国哥伦比亚特区华盛顿IEEE计算机协会),55-74
[37] 卡米洛·罗查;何塞·梅塞盖尔;Muñoz,César A.,重写模块SMT和开放系统分析,(重写逻辑及其应用——第十届国际研讨会,WRLA 2014,修订论文集。重写逻辑及其运用——第十期国际研讨会,FRLA 2014,修改论文集,计算机科学讲义,第8663卷(2014),Springer),247-262·Zbl 1367.68151号
[38] Rošu,Grigore,匹配逻辑扩展摘要,(第26届改写技术和应用国际会议论文集,第26届国际改写技术与应用会议论文集),RTA’15。第26届改写技术与应用国际会议论文集。《第26届改写技术与应用国际会议论文集》,RTA’15,《莱布尼茨国际信息学论文集》(LIPIcs),第36卷(2015年7月),Dagstuhl:Dagstull德国),5-21,Schloss Dagstuhel-Leibniz-Zentrum fuer Informatik·Zbl 1366.68027号
[39] 格里戈尔·罗什;ötefnescu,Andrei,《从Hoare逻辑到匹配逻辑可达性》,(第18届形式方法国际研讨会论文集。第18届国际形式方法研讨会论文集,FM’12。第18届形式方法国际研讨会论文集。《第18届形式方法国际研讨会论文集》,FM'12,《计算机科学讲义》,第7436卷(2012年),施普林格出版社,387-402·Zbl 1372.68066号
[40] Roşu,格里戈尔;安德烈·特夫内斯库(Andrei tefénescu);Ciobácé,ötefan;Moore,Brandon M.,单程可达性逻辑,(第28届计算机科学逻辑研讨会论文集。第28届计算科学逻辑研讨会文献集,LICS’13(2013年6月),IEEE),358-367·Zbl 1366.68182号
[41] 格里戈尔·罗什;Lucanu,Dorel,循环共导——一个证明理论基础,(CALCO 2009。CALCO 2009,计算机科学讲稿,第5728卷(2009),施普林格),127-144·Zbl 1239.68067号
[42] 格里戈尔·罗什;⑩erbţnu෥Ťūć,Traian Florin,《K语义框架概述》,J.Log。代数程序。,79, 6, 397-434 (2010) ·Zbl 1214.68188号
[43] 格里戈尔·罗什;Ştefănescu,Andrei,使用匹配逻辑检查可达性,(OOPSLA(2012),ACM),555-574,也可作为技术报告提供·Zbl 1372.68066号
[44] 鲁苏、弗拉德;多雷尔·卢卡努;塞族人,Traian Florin;安德烈·阿鲁索艾;安德烈·特夫内斯库(Andrei tefénescu);罗什乌,格里戈尔,《作为重写理论的语言定义》,J.Log。代数方法程序。,85,1,第1部分,1:98-120(2016)·Zbl 1356.68125号
[45] Sangiorgi,Davide,《互模拟和复制导论》(2012),剑桥大学出版社,第2章的初步版本,我们可以从中找到paterial·Zbl 1252.68008号
[46] 施密特(Peter H.Schmitt)。;Weiß,Benjamin,通过符号执行推断不变量,(VERIFY.VERIFY,CEUR研讨会论文集,第259卷(2007),CEUR-WS.org)
[47] Sen,Koushik;达科·马里诺夫;Agha,Gul,CUTE:C的一个协调单元测试引擎(第十届欧洲软件工程会议论文集,与第十三届ACM SIGSOFT国际软件工程基础研讨会联合举行)。与第十三届ACM SIGSOFT软件工程基础国际研讨会联合举行的第十届欧洲软件工程会议记录,ESEC/FSE-13(2005),ACM:ACM纽约,纽约,美国),263-272
[48] ⑩erbénuţ\355 ;Ņé,Traian-Florin;格里戈尔·罗什;JoséMeseguer,《操作语义的重写逻辑方法》,Inf.Comput。,207, 2, 305-340 (2009) ·Zbl 1165.68041号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。