×

从Horn子句验证条件中删除不必要的变量。 (英语) Zbl 1482.68136号

Gallagher,John P.(编辑)等人,《验证和合成Horn条款第三次研讨会论文集》,HCVS 2016,荷兰埃因霍温,2016年4月3日。滑铁卢:开放出版协会(OPA)。电子。程序。西奥。计算。科学。(EPTCS)21949-55(2016)。
摘要:验证条件是逻辑公式,其可满足性保证了程序的正确性。我们考虑以约束Horn子句(CHC)形式存在的VC,这些子句是由编程语言的操作语义的编码(解释器)自动生成的。VC是通过基于展开/折叠转换规则的程序专门化派生出来的,正如专门化口译员时经常发生的那样,它们包含不必要的变量,即被验证程序的正确性证明不需要的变量。在本文中,我们采用了CHC设置中的一些技术,这些技术是为从逻辑程序中删除不必要的变量而开发的,并且我们表明,在某些情况下,这些技术的应用提高了Horn子句求解器在证明程序正确性时的有效性。
关于整个系列,请参见[Zbl 1441.68009号].

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
03B70号 计算机科学中的逻辑
PDF格式BibTeX公司 XML格式引用
全文: arXiv公司 链接

参考文献:

[1] E.Albert、M.Gómez-Zamalloa、L.Hubert和G.Puebla(2007):使用逻辑程序的分析和转换验证Java字节码。M.Hanus主编:《声明语言的实用方面》,《计算机科学讲义》4354,Springer,第124-139页,doi:10.1007/978-3-540-69611-7 8·doi:10.1007/978-3-540-69611-7_8
[2] E.De Angelis、F.Fioravanti、A.Pettorossi和M.Proietti(2014):通过迭代特殊化进行程序验证。《计算机编程科学》95,第2部分,第149-175页,doi:10.1016/j.scico.2014.05.017·doi:10.1016/j.scico.2014.05.017
[3] E.De Angelis、F.Fioravanti、A.Pettorossi和M.Proietti(2014):VeriMAP:通过转换验证程序的工具。摘自:《第20届国际系统构造与分析工具与算法会议论文集》,TACAS’14,计算机科学讲稿8413,Springer,第568-574页,doi:10.1007/978-3642-54862-8 47。网址:http://www.map.uniroma2.it/VeriMAP。 ·doi:10.1007/978-3-642-54862-847
[4] E.De Angelis、F.Fioravanti、A.Pettorossi和M.Proietti(2015):通过程序专业化基于语义的验证条件生成。2015年7月14日至16日,意大利锡耶纳,第17届国际声明性编程原则与实践研讨会论文集,ACM,第91-102页,doi:10.1145/2790449.2790529·doi:10.1145/2790449.2790529
[5] S.Etalle和M.Gabbrielli(1996):CLP模块的转换。理论计算机科学166,第101-146页,doi:10.1016/0304-3975(95)00148-4·Zbl 0872.68021号 ·doi:10.1016/0304-3975(95)00148-4
[6] J.P.Gallagher和B.Kafle(2014):用于约束Horn子句验证的分析和转换工具。逻辑程序设计理论与实践14(4-5),第90-101页。补充材料。
[7] A.Gurfinkel、T.Kahsai、A.Komuravelli和J.A.Navas(2015):《SeaHorn验证框架》。摘自:《计算机辅助验证:第27届国际会议》,2015年7月18日至24日,美国加利福尼亚州旧金山,2015年,斯普林格出版社,第343-361页,doi:10.1007/978-3319-21690-420·数字对象标识代码:10.1007/978-3-319-21690-4-20
[8] K.S.Henriksen和J.P.Gallagher(2006):通过逻辑编程对PIC程序进行抽象解释。摘自:第六届IEEE源代码分析和操作国际研讨会论文集,SCAM’06,第103-179页,doi:10.1109/SCAM.2006.1·doi:10.1109/SCAM.2006.1
[9] M.Leuschel和M.H.Sørensen(1996):逻辑程序的冗余参数过滤。J.Gallagher主编:《逻辑程序合成与转换》,《1996年LOPSTR会议录》,瑞典斯德哥尔摩,《计算机科学学报1207》,Springer-Verlag,第83-103页,doi:10.1007/3-540-62718-9 6·doi:10.1007/3-540-62718-96
[10] L.M.de Moura和N.Björner(2008):Z3:高效SMT求解器。摘自:《第十四届国际系统构造与分析工具与算法会议论文集》,TACAS’08,计算机科学讲义4963,Springer,第337-340页,doi:10.1007/978-3-540-78800-3 24·doi:10.1007/978-3-540-78800-3_24
[11] J.C.Peralta、J.P.Gallagher和H.Saglam(1998):通过约束逻辑程序分析命令程序。编者:G.Levi,《第五届国际静态分析交响曲会议录》,SAS’98,《1503年计算机科学讲义》,Springer,第246-261页,doi:10.1007/3-540-49727-7 15·doi:10.1007/3-540-49727-7_15
[12] M.Proietti和A.Pettorosi(1995):展开定义——按此顺序折叠,以避免逻辑程序中不必要的变量。理论计算机科学142(1),第89-124页,doi:10.1016/0304-3975(94)00227-A·Zbl 0873.68023号 ·doi:10.1016/0304-3975(94)00227-A
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。