×

使用动态框架强制结构不变量。 (英语) Zbl 1315.68090号

Abdulla,Parosh Aziz(编辑)等人,《系统构建和分析的工具和算法》。2011年3月26日至4月3日在德国萨尔布吕肯举行的第17届国际会议(TACAS 2011),是欧洲软件理论与实践联合会议(ETAPS 2011)的一部分。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-19834-2/pbk)。计算机科学讲义6605,65-80(2011)。
摘要:动态帧理论是处理所谓的帧问题的一种很有前途的方法,也就是说,给出过程可能修改的堆中位置的精确特征。
在本文中,我们表明用于动态框架的机械可以进一步开发。特别是,我们使用它来检查抽象数据类型的实现是否维护某些结构不变量,这些结构不变量很难用通常的方法表达,包括非循环的(如非循环链表和树)和节点之间有唯一的路径(如树中)。
其思想是,这种形式主义中的区域过于接近可到达对象的集合。然后,我们可以通过在赋值中包含特殊的前提条件来保持这种结构不变量,这种前提条件可以通过最先进的基于SMT的工具进行验证。为了测试这种方法,我们以适当的方式修改了Dafny编程语言的验证器,并能够在非平凡的示例中强制执行这些不变量。
关于整个系列,请参见[Zbl 1213.68016号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
第68季度第60季度 规范和验证(程序逻辑、模型检查等)
68问题65 抽象数据类型;代数规范
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Barnett,M.,Leino,K.R.M.,Schulte,W.:规范#编程系统:概述。收录人:Barthe,G.、Burdy,L.、Huisman,M.、Lanet,J.-L.、Muntean,T.(编辑)CASSIS 2004。LNCS,第3362卷,第49–69页。斯普林格,海德堡(2005)·doi:10.1007/978-3-540-30569-93
[2] Clarke,D.,Potter,J.,Noble,J.:灵活别名保护的所有权类型。摘自:第13届ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA 1998),第48-64页。纽约ACM出版社(1998年)·Zbl 0924.68038号 ·数字对象标识代码:10.1145/286936.286947
[3] Huizing,K.,Kuiper,R.:使用类不变量验证面向对象程序。包含:FASE 2000。LNCS,第1783卷,第208-221页。斯普林格,海德堡(2000)·文件编号:10.1007/3-540-46428-X15
[4] Jacobs,B.,Smans,J.,Piessens,F.:VeriFast:作为证据的强制程序。In:VSTTE工具与实验研讨会(2010年)
[5] I.T.卡西奥斯:动态框架理论。In:计算的形式方面(2010)·Zbl 1252.68192号
[6] Lahiri,S.,Qadeer,S.:验证有充分依据的链接列表的属性。摘自:第33届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集(POPL 2006),第115-126页。ACM出版社,纽约(2006)·Zbl 1369.68143号
[7] Leino,K.R.M.:Dafny:功能正确性的自动程序验证器。In:Clarke,E.M.,Voronkov,A.(编辑)LPAR-16 2010。LNCS,第6355卷,第348-370页。斯普林格,海德堡(2010)·Zbl 1253.68095号 ·文件编号:10.1007/978-3-642-17511-4_20
[8] Leino,K.R.M.,Müller,P.:验证多线程程序的基础。收录:Castagna,G.(编辑)ESOP 2009。LNCS,第5502卷,第378-393页。斯普林格,海德堡(2009)·Zbl 1234.68078号 ·doi:10.1007/978-3642-00590-9_27
[9] Leino,K.R.M.,Nelson,G.:数据抽象和信息隐藏。ACM托普拉斯24(5),491–553(2002)·Zbl 05459296号 ·doi:10.1145/570886.570888
[10] Lev Ami,T.、Immerman,N.、Reps,T.、Sagiv,M.、Srivastava,S.、Yorsh,G.:使用一阶逻辑模拟可达性,并将其应用于链接数据结构的验证。收录:Nieuwenhuis,R.(编辑)CADE 2005。LNCS(LNAI),第3632卷,第99–115页。斯普林格,海德堡(2005)·Zbl 1135.68556号 ·doi:10.1007/11532231_8
[11] Lu,Y.,Potter,J.:可达性和无环性的类型系统。摘自:Gao,X.-X.(编辑)ECOOP 2005。LNCS,第3586卷,第479-503页。斯普林格,海德堡(2005)·doi:10.1007/11531142_21
[12] Neisen,A.:使用定理证明器自动验证非循环数据结构。布宜诺斯艾利斯大学硕士论文(2010年)
[13] Sagiv,M.,Reps,T.,Wilhelm,R.:通过三值逻辑进行参数形状分析。ACM TOPLAS 24(3),217–298(2002)·Zbl 05459332号 ·doi:10.1145/514188.514190
[14] Smans,J.,Jacobs,B.,Piessens,F.:VeriCool:并发面向对象语言的自动验证器。收录:Barthe,G.,de Boer,F.S.(编辑)FMOODS 2008。LNCS,第5051卷,第220-239页。斯普林格,海德堡(2008)·Zbl 05288318号 ·数字对象标识代码:10.1007/978-3-540-68863-1_14
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。