×

VST-Floyd:用于验证C程序正确性的分离逻辑工具。 (英语) Zbl 1451.68169号

概要:验证软件工具链构建了C程序功能正确性的基本机器检查证明。它的程序逻辑Verifiable C是一个浅嵌入的高阶分离Hoare逻辑,在Coq中证明了CompCert Clight的操作语义。本文介绍了VST-Floyd,一个验证助手,它提供了一套半自动的策略,帮助用户使用可验证的C语言为C程序构建功能正确性证明。

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
03B70号 计算机科学中的逻辑
68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Affeldt,R.,Marti,N.:《面向TLS网络数据包处理的正式验证》,作者:C.in:Might,M.,Van Horn,D.,Abel,A.,Sheard,T.(编辑)《第七届编程语言与程序验证研讨会论文集》,第35-46页。ACM(2013)
[2] Appel,AW,加密原语验证:SHA-256,ACM Trans。程序。语言系统。,37, 7:1-7:31, (2015) ·doi:10.1145/2701415
[3] Appel,A.W.,Dockins,R.,Hobor,A.,Beringer,L.,Dodds,J.,Stewart,G.,Blazy,S.,Leroy,X.:认证编译器的程序逻辑。剑桥大学出版社,剑桥(2014)·Zbl 1298.68009号 ·doi:10.1017/CBO9781107256552
[4] 阿佩尔,AW;McAllester,D,基本校对代码的递归类型索引模型,ACM Trans。程序。语言系统。,23, 657-683, (2001) ·数字对象标识代码:10.1145/504709.504712
[5] Bengtson,J.,Jensen,J.B.,Birkedal,L.:冲锋!Coq中高阶分离逻辑的框架。收入:ITP,第315-331页(2012年)·Zbl 1360.68741号
[6] Berdine,J.、Calcagno,C.、O'Hearn,P.W.:带分离逻辑的符号执行。载于:Yi,K.(编辑)《编程语言与系统》,第三届亚洲研讨会,APLAS 2005,日本筑波,2005年11月2-5日,会议录,计算机科学讲稿第3780卷,第52-68页。斯普林格(2005)·Zbl 1159.68363号
[7] Beringer,L.,Petcher,A.,Ye,K.Q.,Appel,A.W.:验证了OpenSSL HMAC的正确性和安全性。摘自:第24届USENIX安全研讨会,第207-221页。USENIX协会(2015)
[8] Bernstein,D.J.,van Gastel,B.,Janssen,W.,Lange,T.,Schwabe,P.,Smetsers,S.:Tweetnacl:包含100条推文的加密库。载于:Aranha,D.F.,Menezes,A.(eds.)《密码学进展-LATINCRYPT 2014第三届拉丁美洲密码学和信息安全国际会议》,2014年9月17日至19日,巴西弗洛里安诺波利斯,修订论文集,计算机科学讲稿第8895卷,第64-83页。斯普林格(2014)·Zbl 1378.94025号
[9] 加尔卡尼奥,C;Distefano,D;奥赫恩,P;杨,H,用双向拉伸法进行成分形状分析,SIGPLAN Not。,44, 289-300, (2009) ·Zbl 1315.68085号 ·doi:10.1145/1594834.1480917
[10] 下巴,W-N;大卫,C;阮,HH;Qin,S,通过分离逻辑中的用户定义谓词自动验证形状、尺寸和袋子属性,科学。计算。程序。,77, 1006-1036, (2012) ·Zbl 1243.68148号 ·doi:10.1016/j.scico.2010.07.004
[11] Chlipala,A.:Bedrock结构化编程系统:在可扩展程序验证器中结合生成元编程和Hoare逻辑。In:ICFP'13:第18届ACM SIGPLAN函数式编程国际会议记录(2013)
[12] Clarke,E.M.,Kroening,D.,Lerda,F.:检查ANSI-C程序的工具。In Jensen,K.,Podelski,A.(eds.)《用于系统构建和分析的工具和算法》,第十届国际会议,TACAS 2004,作为欧洲软件理论和实践联合会议的一部分举行,ETAPS 2004,巴塞罗那,西班牙,2004年3月29日至4月2日,计算机科学讲稿第2988卷,第168-176页。斯普林格(2004)·Zbl 1126.68470号
[13] 弗洛伊德·R.W.:为程序赋予意义。摘自:《应用数学研讨会论文集》,第19-32页。罗德岛州普罗维登斯(1967年)·Zbl 0189.50204号
[14] Gruetter,S.:基于验证AES加密算法的C实现的案例研究,改进验证软件工具链的Coq证明自动化策略。硕士论文。洛桑高等技术学院(2017)
[15] Guéneau,A.,Myreen,M.O.,Kumar,R.,Norrish,M.:CakeML的验证特征配方。摘自:《编程语言与系统:第26届欧洲编程研讨会》,2017年ESOP,作为欧洲软件理论与实践联合会议的一部分,2017年ETAPS,2017年4月22日至29日,瑞典乌普萨拉,会议记录,第584-610页。施普林格,柏林(2017)·Zbl 1485.68030号
[16] 计算机编程的公理基础,Commun。美国医学会,12578-5801969年·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[17] Hobor,A.,Dockins,R.,Appel,A.W.:通过近似间接理论。摘自:第37届ACM编程语言原理研讨会论文集(POPL'10),第171-185页(2010)·Zbl 1312.68060号
[18] Hobor,A.,Villard,J.:数据结构中共享的后果。参见:Giacobazzi,R.,Cousot,R.(编辑)第40届ACM SIGPLAN-SIGACT编程语言原理年度研讨会,POPL’13,意大利罗马,2013年1月23日至25日,第523-536页。ACM(2013)·Zbl 1301.68180号
[19] Jung,R.,Swasey,D.,Sieczkowski,F.,Svendsen,K.,Turon,A.,Birkedal,L.,Dreyer,D.:Iris:作为并发推理正交基础的幺半群和不变量。在:第42届ACM SIGPLAN-SIGCT编程语言原理年度研讨会论文集(2015)·Zbl 1346.68135号
[20] Kleymann,T.:霍尔逻辑和VDM:机器检查的可靠性和完整性证明。英国爱丁堡大学博士论文(1998年)
[21] Krebbers,R.:C标准在Coq中正式化。Radboud大学博士论文(2015年)
[22] Krebbers,R.、Jung,R.,Bizjak,A.、Jourdan,J.-H.、Dreyer,D.、Birkedal,L.:高阶并发分离逻辑的本质。摘自:欧洲编程研讨会,第696-723页。施普林格(2017)·Zbl 1485.68069号
[23] Krebbers,R.,Timany,A.,Birkedal,L.:高阶并发分离逻辑中的交互证明。收录于:Castagna,G.,Gordon,A.D.(编辑)《第44届ACM SIGPLAN编程语言原则研讨会论文集》,2017年POPL,2017年1月18日至20日,法国巴黎,第205-217页。ACM(2017)·Zbl 1380.68341号
[24] Leino,K.R.M.:Dafny:功能正确性的自动程序验证器。摘自:Clarke,E.M.,Voronkov,A.(eds.)Logic for Programming,Artificial Intelligence,and Reasoning-16 International Conference,LPAR-16,Dakar,塞内加尔,2010年4月25日至5月1日,《计算机科学讲稿》第6355卷,第348-370页。施普林格(2010)·Zbl 1253.68095号
[25] Leroy,X,真实编译器的形式验证,Commun。ACM,52,107-115,(2009)·doi:10.1145/1538788.1538814
[26] Mansky,W.,Appel,A.W.,Nogin,A.:一个经过验证的消息传递系统。2017年ACM面向对象编程系统语言与应用国际会议论文集,OOPSLA’17。ACM(2017)
[27] Matthews,J.、Moore,J.S.、Ray,S.、Vroon,D.:通过定理证明生成验证条件。摘自:Hermann,M.,Voronkov,A.(eds.)《程序设计、人工智能和推理的逻辑》,第13届国际会议,LPAR 2006,柬埔寨金边,2006年11月13日至17日,会议记录,计算机科学讲稿第4246卷,第362-376页。斯普林格(2006)·Zbl 1165.68410号
[28] Nipkow,T.:递归过程和无界不确定性的Hoare逻辑。摘自:Bradfield,J.C.(编辑)《计算机科学逻辑》,第16届国际研讨会,2002年CSL,第11届EACSL年会,2002年9月22日至25日,英国苏格兰爱丁堡,计算机科学讲稿第2471卷,第103-119页。斯普林格(2002)·Zbl 1020.03029号
[29] Reynolds,J.:分离逻辑:共享可变数据结构的逻辑。收录于:LICS 2002:IEEE计算机科学逻辑研讨会,第55-74页(2002)
[30] Signoles,J.:基金会的影响和组成:Frama-C项目的概念。In:Schmitt,A.(编辑)JFLA 2009,Vingtièmes Journées Francophones des Langages Applicatifs,Saint-Quentin-sur-Isère,法国,2009年1月31日至2月3日。《世界信息研究院学报》第7.2卷,第245-280页(2009年)
[31] Wildmoser,M.:验证了携带证明的代码。慕尼黑技术大学博士论文(2005年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。