×

通过分离逻辑中用户定义的谓词自动验证形状、大小和袋子属性。 (英语) Zbl 1243.68148号

摘要:尽管基于指针的程序很受欢迎,也很重要,但它仍然是程序验证的主要挑战。近年来,分离逻辑已经成为基于指针的程序形式推理的有力竞争者。最近的工作主要集中在基于固定谓词集的专用证明语上。在本文中,我们提出了一个自动验证系统,以确保基于指针的程序的安全性,其中处理的规范简明、精确和表达。我们的方法使用用户定义的谓词来允许程序员描述各种数据结构及其相关的形状、大小和包(多集)属性。为了支持自动验证,我们设计了一个新的包含检查过程,该过程可以使用展开/折叠推理处理基础良好的谓词(可以递归定义)。我们已经证明了我们的验证系统的可靠性和终结性,并构建了一个原型系统来证明我们的方法的可行性。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
68吨15 定理证明(演绎、解析等)(MSC2010)
03B70号 计算机科学中的逻辑
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 巴内特,M。;Leino,K.R.M。;Schulte,W.:规范#编程系统:概述,计算机科学讲义336249-69(2004)
[2] C.Barrett,A.Stump,C.Tinelli,SMT-LIB标准:2.0版,收录于:可满足性模理论国际研讨会。非正式程序,2010年。
[3] Berdine,J。;加尔卡尼奥,C。;O'hearn,P.W.:分离逻辑的符号执行,计算机科学讲义3780,52-68(2005)·Zbl 1159.68363号 ·doi:10.1007/11575467
[4] Berdine,J。;加尔卡尼奥,C。;O'hearn,P.W.:Smallfoot:带分离逻辑的模块化自动断言检查,计算机科学讲义4111,115-137(2006)
[5] 宾厄姆,J。;Rakamaric,Z.:堆操作程序谓词抽象的逻辑和决策过程,计算机科学讲义3855207-221(2006)·兹比尔1176.68113 ·doi:10.1007/11609773
[6] R.M.伯斯托尔。;Darlington,J.:开发递归程序的转换系统,《ACM杂志》24,第1期,第44-67页(1977年)·Zbl 0343.68014号 ·数字对象标识代码:10.1145/321992.321996
[7] 加尔卡尼奥,C。;Distefano,D。;O'hearn,P.W。;Yang,H.:用双向拉伸法进行成分形状分析,289-300(2009)·Zbl 1315.68085号
[8] 陈,C。;Xi,H.:将编程与定理证明相结合,66-77(2005)·Zbl 1302.68241号
[9] Chin,W.N。;大卫·C。;Nguyen,H.H。;秦,S.:形状、尺寸和袋子特性的自动验证,307-320(2007)·Zbl 1132.68477号
[10] Chin,W.N.(钦,W.N.)。;Khoo,S.C.:计算大小类型,62-72(2000)
[11] Chin,W.N。;科罗,南卡罗来纳州。;秦,S.C。;波皮亚,C。;Nguyen,H.H.:使用大小属性和别名控制验证安全策略,186-195(2005)
[12] Cok,D.R.:《使用包含方法调用和模型字段的规范进行推理》,《对象技术杂志》第4期,第8期,77-103页(2005年)
[13] 科克·D·R。;Kiniry,J.R.:ESC/java2:结合ESC/Java和JML,计算机科学讲义3362108-128(2004)
[14] De Moura,L.M。;比约纳,N.:SMT求解器的高效E-matching,计算机科学讲稿4603183-198(2007)·Zbl 1213.68578号 ·doi:10.1007/978-3-540-73595-3_13
[15] D.Detlefs,G.Nelson,J.B.Saxe,《简化:程序检查的定理证明》。技术报告HPL-2003-148,HP Laboratories Palo Alto,2003·Zbl 1323.68462号
[16] Distefano,D。;O'hearn,P.W。;Yang,H.:基于分离逻辑的局部形状分析,计算机科学讲义3920,287-302(2006)·Zbl 1180.68112号 ·doi:10.1007/11691372
[17] Elgaard,J。;Klarlund,N。;Möller,A.:MONA 1.x:WS1S和WS2S的新技术,计算机科学讲稿1427,516-520(1998)
[18] 弗拉纳根,C。;Leino,K.R.M。;Lillibridge,M。;Nelson,G。;Saxe,J.B。;Stata,R.:Java的扩展静态检查,234-245(2002)
[19] Gotsman,A。;Berdine,J。;Cook,B.:用分离堆抽象进行跨过程形状分析,计算机科学讲义4134240-260(2006)·Zbl 1225.68072号 ·doi:10.1007/11823230_16
[20] 哈伍德,W。;卡瓦尔坎蒂,A。;Woodcock,J.:UTP指针理论,计算机科学讲义5160,141-155(2008)·Zbl 1161.68388号 ·doi:10.1007/978-3-540-85762-4_10
[21] Hoare,C.A.R.:《计算机编程的公理基础》,《ACM通信12》,第10期,576-580页(1969年)·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[22] 霍尔,C.A.R。;He,J.:指针和对象的跟踪模型,计算机科学讲义1628,1-17(1999)·Zbl 0954.68045号
[23] Hoare,C.A.R.:《验证编译器:计算研究的重大挑战》,《ACM期刊》50,第1期,63-69页(2003年)·兹比尔1032.68868
[24] 休斯,J。;帕雷托,L。;Sabry,A.:使用大小类型证明反应系统的正确性,410-423(1996)
[25] Ishtiaq,S。;O'hearn,P.W.:BI作为可变数据结构的断言语言,14-26(2001)·Zbl 1323.68077号
[26] 贾,L。;Walker,D.:ILC:指针程序自动推理的基础,计算机科学讲义3924131-145(2006)·Zbl 1178.03077号 ·doi:10.1007/11693024
[27] 琼斯,C。;奥赫恩,P。;Woodcock,J.:《验证软件:重大挑战》,IEEE计算机39,第4期,93-95(2006)
[28] Kassios,I.T.:《动态框架:无限制地支持框架、依赖和共享》,计算机科学课堂讲稿4085,268-283(2006)
[29] König,D.:endlichen und unendlichen grapen理论,Akademische verlagsgesellschaft(1936)·兹标0013.22803
[30] N.Klarlund,A.Moller,MONA 1.4版-用户手册。金砖国家债券系列,2001年1月。
[31] Klarlund,N。;Schwartzbach,M.I.:图形类型,196-205(1993)
[32] V.Kuncak,模块化数据结构验证,麻省理工学院博士论文,2007年。
[33] Kuncak,V.公司。;Lam,P。;Zee,K。;Rinard,M.:数据结构一致性的模块化可插拔分析,IEEE软件工程事务32,第12期,988-1005(2006)
[34] Kuncak,V.公司。;Nguyen,H.H。;Rinard,M.:确定bapa的算法:布尔代数与Presburger算法,计算机科学讲义3632260-277(2005)·Zbl 1102.03303号 ·doi:10.1007/11532231
[35] 拉希里,S。;Qadeer,S.:验证有充分依据的链接列表的属性,115-126(2006)·兹比尔1369.68143
[36] P.Lam,《验证软件设计属性的滚刀系统》,麻省理工学院博士论文,2007年。
[37] Leavens,G.T。;贝克,A.L。;Ruby,C.:JML的初步设计:一种Java行为接口规范语言,SIGSOFT软件工程注释31,第3期,1-38(2006)
[38] 李,O。;Yang,H。;Yi,K.:《使用基于语法的形状分析自动验证指针程序》,计算机科学讲义3444124-140(2005)·Zbl 1108.68396号 ·doi:10.1007/b107380
[39] K.R.M.Leino,面向对象软件的规范和验证,演讲笔记,马克托伯多夫国际暑期学校,2008年。
[40] 梅耶,伯特兰:《埃菲尔:语言》(1992)·Zbl 0779.68013号
[41] Moeller,A。;Schwartzbach,M.I.:指针断言逻辑引擎,221-231(2001)
[42] Necula,G.:防止结婚法规,106-119(1997)
[43] Nelson,G。;Oppen,D.C.:通过合作决策过程进行简化,ACM关于编程语言和系统的事务1,第2期,245-257(1979)·Zbl 0452.68013号 ·数字对象标识代码:10.1145/357073.357079
[44] Nguyen,H.H。;大卫·C。;秦,S.C。;Chin,W.N.:通过分离逻辑自动验证形状和尺寸属性,计算机科学讲义4349,251-266(2007)·Zbl 1132.68477号 ·doi:10.1007/978-3-540-69738-1_18
[45] Nipkow,T。;保尔森,L.C。;Wenzel,M.:Isabelle/HOL——高阶逻辑的证明助理,计算机科学讲稿2283(2002)·Zbl 0994.68131号
[46] O'hearn,P.W。;雷诺兹,J。;Yang,H.:关于改变数据结构的程序的局部推理,计算机科学讲义2142,1-19(2001)·Zbl 0999.68045号
[47] Pierce,B.:类型和编程语言(2002)·Zbl 0995.68018号
[48] Pugh,W.:跳过列表:平衡树的概率替代方法,《ACM通信》33,第6期,668-676(1990)
[49] Pugh,W.:精确阵列相关性分析的实用算法,ACM通信35,第8期,102-114(1992)
[50] Reddy,C.R。;Loveland,D.W.:带有界量词交替的Presburger算法,320-325(1978)·Zbl 1282.68142号
[51] Reynolds,J.:分离逻辑:共享可变数据结构的逻辑,55-74(2002)
[52] Rugina,R.:定量形状分析,计算机科学讲稿3148228-245(2004)·Zbl 1104.68422号 ·数字对象标识代码:10.1007/b99688
[53] 萨吉夫,S。;代表,T。;Wilhelm,R.:通过三值逻辑进行参数形状分析,编程语言和系统的ACM事务24,第3期,217-298(2002)
[54] Sims,E-J.:用不动点和延迟替换扩展分离逻辑,《理论计算机科学》351,第2期,258-275(2006)·Zbl 1086.68032号 ·doi:10.1016/j.tcs.2005.09.071
[55] Spivey,J.M.:Z符号:参考手册(1989)·兹比尔0777.68003
[56] Stump,A。;巴雷特,C。;Dill,D.:CVC:一个合作的有效性检查器,计算机科学课堂讲稿2404500-504(2002)·Zbl 1010.68720号
[57] J.Tschannen,埃菲尔程序的自动验证,硕士论文,苏黎世理工学院,2009年。
[58] Walker,D。;Morrisett,G.:递归数据结构的别名类型,计算机科学讲义2071,177-206(2000)·Zbl 0985.68007号
[59] Wies,T。;Kuncak,V.公司。;Lam,P。;Podelski,A。;Rinard,M.:场约束分析,计算机科学课堂讲稿3855157-173(2006)·Zbl 1176.68130号
[60] Xi,实际编程中的依赖类型,卡内基梅隆大学博士论文,1998年。
[61] Yang,H。;李,O。;Berdine,J。;加尔卡尼奥,C。;库克,B。;Distefano,D。;O'hearn,P.W.:系统代码的可缩放形状分析,计算机科学讲义5123385-398(2008)·Zbl 1155.68359号 ·doi:10.1007/978-3-540-70545-1_36
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。