×

一种基于推理规则的决策过程,用于验证具有可变数据和循环数据结构的堆操作程序。 (英语) Zbl 1132.68354号

Cook,Byron(编辑)等人,《验证、模型检查和抽象解释》。2007年1月14日至16日在法国尼斯举行的2007年VMCAI第八届国际会议。诉讼程序。柏林:施普林格出版社(ISBN 978-3-540-69735-0/pbk)。计算机科学课堂讲稿4349106-121(2007)。
摘要:堆操作程序(HMP)(通过指针操作无限链接数据结构的程序)的自动验证研究最近蓬勃发展,许多不同的方法都显示出性能和表达能力的飞跃。一年前,我们提出了一种用于指定HMP谓词的小逻辑,并证明了基于推理规则的决策过程可能具有性能竞争性,在许多情况下优于当时已知的其他方法。然而,这项工作是一种概念验证,其逻辑片段太小,无法验证大多数真实程序。在这项工作中,我们将前面的结果概括为实际有用的结果:我们允许堆节点中的数据可变,允许多个指针字段,并且添加了验证循环结构所需的新原语。每个扩展都需要新的或更改的推理规则,同时伴随着对证明和决策过程的更改。然而,我们的新决策程序具有更一般的逻辑,实际运行速度与我们之前的结果一样快。通过这些归纳,我们可以自动验证更多HMP示例,包括Linux内核中的三个小容器函数。
关于整个系列,请参见[Zbl 1131.68006号].

MSC公司:

68第05页 数据结构
68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)

软件:

MONA公司
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 宾厄姆,J。;Rakamarić,Z。;艾默生,E.A。;Namjoshi,K.S.,《堆操作程序谓词抽象、验证、模型检查和抽象解释的逻辑和决策程序》(2005),海德堡:斯普林格出版社·doi:10.1007/11609773_14
[2] Bingham,J.,Rakamarić,Z.:堆操作程序谓词抽象的逻辑和决策程序,UBC部门Comp。科学。技术报告TR-2005-19(2005),http://www.cs.ubc.ca/cgi-bin/tr/2005/tr-2005-19 ·Zbl 1176.68113号
[3] Rakamarić,Z.,Bingham,J.,Hu,A.J.:堆操作程序谓词抽象的更好逻辑和决策程序,UBC部门Comp。科学。技术报告TR-2006-02(2006),http://www.cs.ubc.ca/cgi-bin/tr/2006/tr-2006-02 ·Zbl 1176.68113号
[4] Gotsman,A。;伯丁,J。;库克,B。;Yi,K.,分离堆抽象的过程间形状分析,静态分析(2006),海德堡:施普林格,海德堡·Zbl 1225.68072号 ·doi:10.1007/11823230_16
[5] 伯丁,J。;加尔卡尼奥,C。;O'Hearn,P.W。;Lodaya,K。;Mahajan,M.,《分离逻辑的决定片段》,FSTTCS 2004:软件技术和理论计算机科学基础(2004),海德堡:斯普林格出版社·Zbl 1117.03337号
[6] Berdine,J.、Calcagno,C.、O'Hearn,P.W.:Smallfoot:带分离逻辑的模块化自动断言检查。In:国际交响乐团。关于组件和对象的形式化方法,FMCO(2006)
[7] 巴拉班,I。;普努利,A。;Zuck,L。;库索特,R.,《通过谓词抽象、验证、模型检验和抽象解释进行形状分析》(2005),海德堡:斯普林格出版社·Zbl 1111.68396号
[8] Flanagan,C.,Qadeer,S.:软件验证的谓词抽象。收录:Symp。《程序设计语言原理》,POPL(2002)·Zbl 1323.68371号
[9] Nelson,G.:程序验证技术。斯坦福大学博士论文(1979年)
[10] Nelson,G.:验证链接结构的可达不变量。收录:Symp。《程序设计语言原理》,POPL(1983)
[11] Benedikt,M。;代表,T。;萨吉夫,M。;Swierstra,S.D.,《描述链接数据结构、编程语言和系统的决定逻辑》(1999),海德堡:斯普林格出版社·doi:10.1007/3-540-49099-X2
[12] Immerman,N。;Rabinovich,A。;代表,T。;萨吉夫,M。;约什,G。;Marcinkowski,J。;Tarlecki,A.,传递闭包逻辑的可决定性和不可决定性之间的边界,计算机科学逻辑(2004),海德堡:斯普林格·邮编1095.03008
[13] Cousot,P.,Cousot,R.:抽象解释:通过构造或逼近不动点对程序进行静态分析的统一格模型。收录:Symp。《程序设计语言原理》,POPL(1977)·Zbl 1149.68389号
[14] Dams,D。;Namjoshi,K.S。;Zuck,L.D。;阿蒂,P.C。;科尔特斯,A。;Mukhopadhyay,S.,通过谓词抽象和模型检查、验证、模型检查和抽象解释进行形状分析(2002),海德堡:斯普林格
[15] 格拉芙,S。;Saidi,H。;Grumberg,O.,用PVS构造抽象状态图,计算机辅助验证(1997),海德堡:施普林格
[16] 达斯,S。;Dill,D.L。;帕克,S。;Halbwachs,N。;Peled,D.A.,谓词抽象经验,计算机辅助验证(1999),海德堡:施普林格·Zbl 1046.68589号 ·doi:10.1007/3-540-48683-6_16
[17] 亨廷格、T.A.、贾拉、R.、马朱姆达尔、R.和Sutre、G.:懒惰抽象。收录:Symp。《程序设计语言原理》,POPL(2002)·Zbl 1323.68374号
[18] Möller,A.,Schwartzbach,M.I.:指针断言逻辑引擎。In:编程语言设计与实现大会,PLDI(2001)
[19] Wies,T。;昆卡,V。;Lam,P。;Podelski,A。;里纳德,M。;艾默生,E.A。;Namjoshi,K.S.,《场约束分析、验证、模型检查和抽象解释》(2005),海德堡:斯普林格出版社·doi:10.1007/11609773_11
[20] 代表,T。;萨吉夫,M。;Loginov,A。;Degano,P.,《静态分析逻辑公式的有限差分,编程语言和系统》(2003),海德堡:施普林格出版社·Zbl 1032.68061号 ·doi:10.1007/3-540-36575-3_26
[21] 约什,G。;Rabinovich,A。;萨吉夫,M。;梅耶,A。;Bouajjani,A。;丙酮。;Ingólfsdóttir,A.,《链接数据结构中可达模式的逻辑》,《软件科学和计算结构基础》(2006),海德堡:斯普林格出版社·Zbl 1180.68131号 ·doi:10.1007/111690634_7
[22] Immerman,N。;Rabinovich,A。;代表,T。;萨吉夫,M。;约什,G。;阿鲁尔(Alur,R.)。;Peled,D.A.,《通过结构模拟进行验证》,计算机辅助验证(2004),海德堡:施普林格
[23] Lahiri,S.K.,Qadeer,S.:验证基础良好的链接列表的属性。收录:Symp。《程序设计语言原理》,POPL(2006)·Zbl 1369.68143号
[24] Manevich,R。;雅哈夫,E。;Ramalingam,G。;萨吉夫,M。;库索特·R,《单链表的谓词抽象和规范抽象、验证、模型检查和抽象解释》(2005),海德堡:斯普林格出版社·Zbl 1111.68398号
[25] Loginov,A。;代表,T.W。;萨吉夫,S。;Etessami,K。;Rajamani,S.K.,《通过归纳学习进行抽象精炼》,计算机辅助验证(2005),海德堡:斯普林格出版社·Zbl 1081.68626号
[26] Distefano,D。;O'Hearn,P.W。;Yang,H。;Hermanns,H。;Palsberg,J.,《基于分离逻辑的局部形状分析、系统构建和分析的工具和算法》(2006),海德堡:施普林格出版社·doi:10.1007/11691372-19
[27] Ishtiaq,S.,O'Hearn,P.W.:BI作为可变数据结构的断言语言。收录:Symp。《程序设计语言原理》,POPL(2001)·Zbl 1323.68077号
[28] Magill,S.、Nanevski,A.、Clarke,E.M.、Lee,P.:为强制列表处理程序推断分离逻辑中的不变量。参加:用于内存管理的语义、程序分析和计算环境研讨会,SPACE(2006年)
[29] Lev-Ami,T。;Immerman,N。;萨吉夫,M。;球,T。;Jones,R.B.,《快速精密变压器形状分析摘要》,计算机辅助验证(2006),海德堡:施普林格,海德堡·doi:10.1007/11817963_49
[30] Klarlund,N.、Möller,A.、Schwartzbach,M.I.:MONA实施秘密。在:关于自动机的实现和应用的会议,CIAA(2000)·Zbl 0989.03500号
[31] Lev-Ami,T。;萨吉夫,M。;Palsberg,J.,TVLA:执行静态分析的系统,静态分析(2000),海德堡:斯普林格·Zbl 0966.68580号
[32] Ball,T.,Majumdar,R.,Millstein,T.D.,Rajamani,S.K.:C程序的自动谓词抽象。In:编程语言设计与实现大会,PLDI(2001)
[33] 约什,G。;代表,T。;萨吉夫,M。;Jensen,K。;Podelski,A.,《形状分析的符号计算最精确抽象操作、系统构建和分析的工具和算法》(2004),海德堡:斯普林格出版社·Zbl 1126.68359号
[34] Ranise,S.,Zarba,C.G.:单链表理论及其可扩展决策程序。摘自:IEEE软件工程与形式化方法国际会议,SEFM(2006)
[35] McMillan,K.L。;Halbwachs,N。;Zuck,L.D.,Craig插值在模型检查中的应用,系统构建和分析的工具和算法(2005),海德堡:Springer,Heidelberg·Zbl 1087.68597号
[36] Hoare,C.A.R.,《计算机编程的公理基础》,ACM通信,12,10,576-583(1969)·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[37] 克拉克,E.M。;艾默生,E.A。;Sistla,A.P.,使用时序逻辑规范对有限状态并发系统进行自动验证,ACM编程语言和系统事务(TOPLAS),8,2,244-263(1986)·Zbl 0591.68027号 ·doi:10.1145/5397.5399
[38] Lev-Ami,T。;Immerman,N。;代表,T.W。;萨吉夫,M。;Srivastava,S。;约什,G。;Nieuwenhuis,R.,《使用一阶逻辑模拟可达性及其在关联数据结构验证中的应用》,自动演绎-CADE-20(2005),海德堡:斯普林格·Zbl 1135.68556号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。