×

推理递归数据结构中的赋值。 (英语) Zbl 1325.68157号

Davies,Jim(编辑)等人,《形式方法:基础和应用》。2010年11月8日至11日在巴西纳塔尔举行的第13届巴西正式方法研讨会,SBMF 2010。修订了选定的论文。柏林:施普林格出版社(ISBN 978-3-642-19828-1/pbk)。计算机科学课堂讲稿6527161-176(2011)。
摘要:本文提出了一个框架来解释递归数据结构中赋值的影响。我们基于Meyer的面向对象语言Eiffel语义思想,为核心语言定义操作语义。一系列字段访问,例如\(f_{1}\bullet f_{2}\bullt\cdot\cdot\bulletf_{n}\),可以被视为堆上的路径。我们提供了描述这些多点表达式如何受赋值影响的规则。使用多点表达式来构造列表的抽象,我们展示了列表反转算法的正确性。这种方法不需要归纳,关于赋值的推理被封装在上述规则中。我们还讨论了在处理其他数据结构时如何使用这种方法,以及它与归纳方法的比较。框架、规则和示例已经正式化,并使用PVS证明助手证明其正确性。
关于整个系列,请参见[Zbl 1213.68032号].

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
68第05页 数据结构
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Berdine,J.,Calcagno,C.,O'Hearn,P.:Smallfoot:带分离逻辑的模块化自动断言检查。收录:de Boer,F.,Bonsangue,M.,Graf,S.,de Roever,W.-P.(编辑)FMCO 2005。LNCS,第4111卷,第115-137页。斯普林格,海德堡(2006)·数字对象标识代码:10.1007/118041926
[2] Blanco,J.,Pablo,C.:证明类正确性的语义(2005)(未出版)
[3] Bornat,R.:用Hoare逻辑证明指针程序。收录:Backhouse,R.,Oliveira,J.N.(编辑)MPC 2000。LNCS,第1837卷,第102-126页。斯普林格,海德堡(2000)·Zbl 0963.68036号 ·doi:10.1007/10722010_8
[4] Bundy,A.,Basin,D.,Hutter,D.,Ireland,A.:Rippling:数学推理的元层次指导。剑桥大学出版社,剑桥(2005)·Zbl 1095.68108号 ·doi:10.1017/CBO9780511543326
[5] Burstall,R.:证明改变数据结构的程序正确性的一些技术。收录于:《机器智能》,第7卷,第22-50页。爱丁堡大学出版社(1972)·Zbl 0259.68009号
[6] Distefano,D.,Filipović,I.:通过双向推断检测Java中的内存泄漏。摘自:Rosenblum,D.,Taentzer,G.(编辑)FASE 2010。LNCS,第6013卷,第278-292页。斯普林格,海德堡(2010)·doi:10.1007/978-3642-12029-9_20
[7] Filliátre,J.C.,Marché,C.:演绎程序验证的Why/Krakatoa/Caduceus平台。摘自:Damm,W.,Hermanns,H.(编辑)CAV 2007。LNCS,第4590卷,第173–177页。斯普林格,海德堡(2007)·doi:10.1007/978-3-540-73368-3_21
[8] Hoare,C.A.R.,Jifeng,H.:指针和对象的跟踪模型。摘自:Guerraoui,R.(编辑)ECOOP 1999。LNCS,第1628卷,第1-17页。斯普林格,海德堡(1999)·Zbl 0954.68045号 ·doi:10.1007/3-540-48743-3_1
[9] Hubert,T.,Marché,C.:演绎验证的分离分析。摘自:Damm,W.,Hermanns,H.(编辑)HAV 2007:堆分析与验证,葡萄牙布拉加,第81–93页(2007)
[10] Marché,C.,Paulin-Mohring,C.:关于带有别名和帧条件的Java程序的推理。In:Hurd,J.,Melham,T.(编辑)《2005年公共卫生与健康法案》。LNCS,第3603卷,第179-194页。斯普林格,海德堡(2005)·Zbl 1152.68524号 ·doi:10.1007/11541868_12
[11] Mehta,F.,Nipkow,T.:用高阶逻辑证明指针程序。信息与计算199,200–227(2005)·Zbl 1081.68008号 ·doi:10.1016/j.ic.2004.10.007
[12] 迈耶,B.:面向类正确性的实践证明。收录人:Bert,D.、Bowen,J.P.、King,S.、Waldén,M.(编辑)ZB 2003。LNCS,第2651卷,第359-387页。斯普林格,海德堡(2003)·Zbl 1028.68550号 ·doi:10.1007/3-540-44880-222
[13] Owre,S.、Shankar,N.、Rushby,J.、Stringer-Calvert,D.:PVS语言参考(版本2.4)。SRI国际计算机科学实验室技术报告(2001年)
[14] Reynolds,J.:分离逻辑:共享可变数据结构的逻辑。收录于:LICS 2002:《计算机科学中的逻辑》,第55-74页。IEEE计算机学会,Los Alamitos(2002)
[15] Rosenberg,S.、Banerjee,A.、Naumann,D.A.:复合模式及其客户的局部推理和动态框架(即将出现)
[16] Tamalet,A.:证明类正确性的另一种语义。阿根廷罗萨里奥国立大学硕士论文(2006年)
[17] Tuerk,T.:HOL中Smallfoot的正式化。收录:Berghofer,S.、Nipkow,T.、Urban,C.、Wenzel,M.(编辑)TPHOLs 2009。LNCS,第5674卷,第469-484页。斯普林格,海德堡(2009)·Zbl 1252.68266号 ·doi:10.1007/978-3-642-03359-9_32
[18] von Henke,F.W.,Pfab,S.,Pfeifer,H.,Rueß,H.:元级定理证明的案例研究。收录:Grundy,J.,Newey,M.C.(编辑)TPHOLs 1998。LNCS,第1479卷,第461-478页。斯普林格,海德堡(1998)·doi:10.1007/BFb0055152
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。