×

使用循环证明自动验证指针程序的时间属性。 (英语) Zbl 1468.68137号

摘要:在本文中,我们研究了heap-aware程序的时间属性的自动验证。我们提出了一种基于循环证明的演绎推理方法。我们的证明系统中的判断断言,程序对内存状态断言具有一定的时间属性,这些断言是用用户定义的归纳谓词以分离逻辑编写的,而系统的证明规则展现了时间模式和谓词定义以及符号执行程序。我们系统中的循环证明与往常一样,是受限于自然、可判定可靠条件的有限证明图,通过无限下降来编码一种证明形式。我们提出了一个专门用于证明非确定性指针程序的CTL属性的证明系统,然后将该系统用于处理公平执行条件。我们证明了系统的两个版本都是可靠的,并在循环定理证明程序中提供了每个版本的实现,从而产生了一个能够自动发现指针程序(公平)时间属性证明的自动化工具。对我们的工具的实验评估表明,我们的方法是可行的,并且为传统的模型检查技术提供了一种有趣的替代方法。

MSC公司:

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

参考文献:

[1] https://github.com/ngorogiannis/cyclist/releases/tag/JAR
[2] 乔什·伯丁(Josh Berdine);加尔卡尼奥、克里斯蒂亚诺;O'Hearn,Peter W.,《分离逻辑的决定性片段》,FSTTCS 2004:软件技术和理论计算机科学基础,97-109(2004),柏林,海德堡:施普林格-柏林-海德堡,柏林·兹比尔1117.03337
[3] Beyer博士。;Henzinger,Ta;贾拉(Jhala,R.)。;Majumdar,R.,《软件模型检查器爆炸:软件工程应用》,Int.J.Softw。技术工具。转账,9505-525(2007)·doi:10.1007/s10009-007-0044-z
[4] Bhat,G.,Cleaveland,R.,Grumberg,O.:CTL*的高效飞行模型检查。在:LICS-10会议记录,第388-397页。IEEE(1995年)
[5] Brotherston,J.:归纳定义的序贯演算证明系统。爱丁堡大学博士论文(2006)
[6] 布罗瑟斯顿(Brotherston,J.):在成串含义的逻辑中形式化归纳推理。摘自:《SAS-14会议录》,LNCS,第4634卷,第87-103页。柏林施普林格出版社(2007)·Zbl 1211.68081号
[7] Brotherston,J.,Bornat,R.,Calcagno,C.:分离逻辑中程序终止的循环证明。摘自:《POPL-35会议录》,第101-112页。ACM(2008)·Zbl 1295.68156号
[8] 詹姆斯·布罗瑟斯顿;Gorogannis,Nikos,《归纳定义安全和终止先决条件的循环外推》,静态分析,68-84(2014),查姆:斯普林格国际出版公司,查姆
[9] 詹姆斯·布罗瑟斯顿;尼科斯·戈罗甘尼斯(Nikos Gorogannis);Petersen,Rasmus L.,通用循环定理证明器,编程语言和系统,350-367(2012),柏林,海德堡:施普林格-柏林-海德堡
[10] 埃德蒙·克拉克;Daniel Kroening;Lerda,Flavio,检查ANSI-C程序的工具,系统构建和分析的工具和算法,168-176(2004),柏林,海德堡:施普林格-柏林-海德堡,柏林·Zbl 1126.68470号
[11] Clarke,E.M.,Emerson,E.A.:使用分支时间时序逻辑设计和合成同步骨架。程序逻辑。研讨会,第52-71页。柏林施普林格(1981)·Zbl 0546.68014号
[12] Cook,B.,Gotsman,A.,Podelski,A.,Rybalchenko,A.,Vardi,M.Y.:证明程序最终会做好事。摘自:《POPL-34会议录》,POPL'07,第265-276页。ACM(2007)·Zbl 1295.68083号
[13] 拜伦·库克;赫拉夫、海蒂;尼尔·皮特曼(Nir Piterman),《关于无限状态系统的CTL*验证自动化》,计算机辅助验证,13-29(2015),查姆:斯普林格国际出版公司,查姆·Zbl 1381.68154号
[14] 库克,B.,科斯基宁,E.:用决策谓词做预言。摘自:《POPL-38会议录》,第46卷,第399-410页。ACM(2011年)·Zbl 1284.68389号
[15] Cook,B.,Koskinen,E.:程序中不确定性的推理。摘自:PLDI-34会议记录,第219-230页。ACM(2013)
[16] Dam,M.:将CTL*转化为模态微积分。ECS-LFCS-。爱丁堡大学计算机科学系计算机科学基础实验室(1990年)
[17] 艾默生,Ea;Halpern,Jy,“有时”和“从不”重温:关于分支与线性时间时序逻辑,J.ACM,33,151-178(1986)·兹比尔0629.68020 ·doi:10.1145/4904.4999
[18] 菲克斯·L。;Grumberg,O.,《时间特性验证》,J.Log。计算。,6, 343-361 (1996) ·Zbl 0851.68070号 ·doi:10.1093/log/6.3.343
[19] Hungar,哈迪;Orna Grumberg;Damm,Werner,如果模型检查必须是真正的象征性的,计算机科学讲义,1-20(1995),柏林,海德堡:施普林格-柏林-海德堡,柏林,海德堡
[20] Lamport,L.,《证明多进程程序的正确性》,IEEE Trans。柔和。工程师,3125-143(1977)·Zbl 0349.68006号 ·doi:10.1109/TSE.1977.229904
[21] Löding,C.,Thomas,W.:自动机的转换方法:复杂性和与二阶逻辑的联系(2007)
[22] Magill,S.、Tsai,M.H.、Lee,P.、Tsa,Y.K.:堆操作程序的自动数字抽象。摘自:第37届程序设计语言原理年度研讨会论文集,POPL’10,第211-222页。ACM(2010)·Zbl 1312.68063号
[23] Manna,Z。;Pnueli,A.,完成时间画面,Theor。计算。科学。,83, 1, 97-130 (1991) ·Zbl 0795.68133号 ·doi:10.1016/0304-3975(91)90041-Y
[24] Pnueli,A.:程序的时间逻辑。摘自:第18届计算机科学基础年度研讨会,第46-57页。IEEE(1977)
[25] Queille,J.P。;Sifakis,J.,《CESAR中并发系统的规范和验证》,《计算机科学讲义》,337-351(1982),柏林,海德堡:施普林格-柏林-海德堡·兹伯利04822.68028
[26] Reynolds,J.C.:分离逻辑:共享可变数据结构的逻辑。摘自:《LICS-17会议记录》,第55-74页。IEEE(2002)
[27] Rowe,R.N.S.,Brotherston,J.:分离逻辑中递归过程的自动循环终止证明。参见:CPP-6会议记录。ACM(2016)
[28] 乌尔里希·舍普;Alex Simpson,《使用显式近似验证时间属性:无上下文过程的完整性》,计算机科学讲义,372-386(2002),柏林,海德堡:施普林格-柏林-海德堡,柏林·Zbl 1077.68717号
[29] Sprenger,C.:演绎局部模型检查——关于无限状态反应系统ctl*性质的验证。瑞士联邦理工学院博士论文(2000年)
[30] Sprenger,C.,Dam,M.:关于归纳推理的结构:微积分中的循环和树形证明。收录于:《2003年FOSSACS会议录》,LNCS,第2620卷,第425-440页。柏林施普林格出版社(2003)·Zbl 1029.03016号
[31] 加迪·特勒兹;James Brotherston,《使用循环证明自动验证指针程序的时间属性》,自动演绎-CADE 26,491-508(2017),Cham:Springer International Publishing,Cham·Zbl 1468.68136号
[32] Vafeiadis,V.,Parkinson,M.:依赖/保证和分离逻辑的结合。摘自:CONCUR-18会议记录,第256-271页。柏林施普林格出版社(2007)·Zbl 1151.68556号
[33] Vardi,My,《并发程序的验证:自动机理论框架》,Ann.Pure Appl。逻辑,51,1,79-98(1991)·兹比尔0725.03013 ·doi:10.1016/0168-0072(91)90066-U
[34] 维瑟,W。;Barringer,H.,实际CTL*模型检查:是否应延长自旋?,国际期刊软件。技术工具。转移,2,4350-365(2000)·Zbl 1059.68591号 ·doi:10.1007/s100090050042
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。