×

通过扩展森林自动机验证具有有序数据的堆操作程序。 (英语) Zbl 1344.68136号

摘要:我们提出了一个通用框架,用于验证具有复杂动态链接数据结构的程序,其正确性取决于存储数据值之间的排序关系。我们框架的基本形式是森林自动机(FA),它以前是为了验证堆操作程序而开发的。我们使用与FA表示的堆节点相关联的数据元素之间的约束来扩展FA,并且我们基于抽象解释,提出了在全自动验证方法中使用扩展FA所需的所有操作的扩展版本。我们实现了我们的方法,作为Forester工具的扩展,并成功地将其应用于许多处理数据结构的程序,例如各种形式的单链和双链列表、二进制搜索树以及跳过列表。

MSC公司:

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

参考文献:

[1] Abdulla,P.A.,Atto,M.,Cederberg,J.,Ji,R.:具有动态内存的数据相关程序的自动分析。第七届自动技术验证与分析国际研讨会论文集——2009年,LNCS第5799卷,第197-212页。柏林施普林格出版社(2009)
[2] Abdulla,P.A.,Haziza,F.,Holík,L.,Jonsson,B.,Rezine,A.:高度并发数据结构的集成规范和验证技术。《第19届系统构建和分析工具和算法国际会议论文集-TACAS’13》,LNCS第7795卷,第324-338页。施普林格(2013)·Zbl 1381.68141号
[3] Abdulla,P.,Holík,L.,Jonsson,B.,LengáL,O.,Trinh,C.Q.,Vojnar,T.:通过扩展森林自动机验证具有有序数据的堆操作程序。在第11届验证和分析自动化技术国际研讨会论文集ATVA’13,LNCS第8172卷,第224-239页。施普林格(2013)·Zbl 1344.68135号
[4] Beyer,D.,Henzinger,T.A.,Théoduloz,G.:懒惰的形状分析。《第18届计算机辅助验证国际会议记录-CAV'06》,LNCS第4144卷,第532-546页。斯普林格(2006)
[5] Bingham,J.,Rakamarić,Z.:堆操作程序谓词抽象的逻辑和决策过程。第七届验证、模型检查和抽象解释国际会议记录-VMCAI'06,LNCS第3855卷,第207-221页。斯普林格(2006)·Zbl 1176.68113号
[6] Bouajjani,A.、Bozga,M.、Habermehl,P.、Iosif,R.、Moro,P.和Vojnar,T.:带有列表的程序是计数器自动机。表格方法系统。设计。38(2), 158-192 (2011) ·Zbl 1217.68059号 ·doi:10.1007/s10703-011-0111-7
[7] Bouajjani,A.,Drégoi,C.,Enea,C.,Sighireanu,M.:程序操作具有无限数据的列表和数组时的精确不变量检查。在第十届验证和分析自动化技术国际研讨会论文集——ATVA’12,LNCS第7561卷,第167-182页。施普林格(2012)·Zbl 1374.68112号
[8] Bouajjani,A.,Habermehl,P.,Rogalewicz,A.,Vojnar,T.:抽象常规(树)模型检查。国际期刊软件。技术工具。Transf公司。14(2), 167-191 (2012) ·Zbl 1273.68221号 ·doi:10.1007/s10009-011-0205-y
[9] Chang,B.-Y.E.,Rival,X.:关系归纳形状分析。第35届SIGPLAN-SIGACT编程语言原理研讨会会议记录——POPL'08,第247-260页。ACM(2008)·Zbl 1295.68081号
[10] Chang,B.-Y.E.,Rival,X.,Necula,G.C.:使用结构不变检查器进行形状分析。第14届国际静态分析研讨会论文集-SAS'07,LNCS第4634卷,第384-401页。施普林格(2007)
[11] Chatterjee,S.、Lahiri,S.K.、Qadeer,S.和Rakaramarić,Z.:分析低级软件的可达性谓词。第13届系统构建和分析工具和算法国际会议论文集-TACAS’07,LNCS第4424卷,第19-33页。施普林格(2007)·Zbl 1186.68108号
[12] Chin,W.-N.,David,C.,Nguyen,H.H.,Qin,S.:通过分离逻辑中用户定义的谓词自动验证形状、大小和袋子属性。科学。计算。程序。77(9), 1006-1036 (2012) ·Zbl 1243.68148号 ·doi:10.1016/j.scico.2010.07.004
[13] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。第四届SIGPLAN-SIGACT编程语言原理研讨会会议记录——POPL’77,第238-252页。ACM(1977年)·Zbl 1243.68148号
[14] Dudka,K.,Peringer,P.,Vojnar,T.:低级列表操作的字节-精度验证。在第20届国际静态分析研讨会论文集SAS'13,LNCS第7935卷,第215-237页。施普林格(2013)·Zbl 1284.68398号
[15] Habermehl,P.,Holík,L.,Rogalewicz,A.,Šimáckek,J.,Vojnar,T.:堆操作验证的森林自动机。表格方法系统。设计。41(1), 83-106 (2012) ·Zbl 1284.68398号 ·doi:10.1007/s10703-012-0150-8
[16] Heinen,J.,Noll,T.,Rieger,S.:Juggrnaut:无界堆结构的图形语法抽象。第三届软件工具支持理论应用国际研讨会论文集-TTSS’09,ENTCS第266卷,第93-107页。爱思唯尔(2010)
[17] Holík,L.、LengáL,O.、Rogalewicz,A.、Šimáckek,J.、Vojnar,T.:基于森林自动机的全自动形状分析。第25届计算机辅助验证国际会议论文集-CAV’13,LNCS第8044卷,第740-755页。施普林格(2013)
[18] Jensen,J.L.,Jörgensen,M.E.,Schwartzbach,M.I.,Klarlund,N.:使用一元二阶逻辑自动验证指针程序。1997年ACM SIGPLAN编程语言设计与实现会议记录-PLDI’97,第226-234页。ACM(1997年)·Zbl 1284.68398号
[19] Lahiri,S.K.,Qadeer,S.:回到未来:使用SMT解算器重新审视精确的程序验证。第35届SIGPLAN-SIGACT编程语言原理研讨会会议记录——POPL'08,第171-182页。ACM(2008)·Zbl 1295.68087号
[20] Loginov,A.,Reps,T.,Sagiv,M.:通过归纳学习进行抽象细化。《第17届计算机辅助验证国际会议记录-CAV'05》,LNCS第3576卷,第519-533页。斯普林格(2005)·Zbl 1081.68626号
[21] Magill,S.,Tsai,M.-H.,Lee,P.,Tsa,Y.-K.:堆操作程序的自动数字抽象。第37届SIGPLAN-SIGACT编程语言原理研讨会论文集——POPL’10,第211-222页。ACM(2010)·Zbl 1312.68063号
[22] McPeak,S.,Necula,G.C.:通过局部等式公理的数据结构规范。第17届计算机辅助验证国际会议记录-CAV'05,LNCS第3576卷,第476-490页。斯普林格(2005)·Zbl 1081.68584号
[23] Pugh,W.:跳过列表:平衡树的概率替代方法。Commun ACM 33(6),668-676(1990)·数字对象标识代码:10.1145/78973.78977
[24] Qin,S.,He,G.,Luo,C.,Chin,W.N.,Chen,X.:组合抽象域中的循环不变合成。J.塞姆。计算。50, 386-408 (2013) ·Zbl 1256.68044号 ·doi:10.1016/j.jsc.2012.08.007
[25] Rakamarić,Z.,Bruttomesso,R.,Hu,A.J.,Cimatti,A.:在SMT框架中验证堆操作程序。第五届自动技术验证与分析国际研讨会论文集——2007年,LNCS第4762卷,第237-252页。施普林格(2007)·Zbl 1141.68484号
[26] Sagiv,M.,Reps,T.,Wilhelm,R.:通过三值逻辑进行参数形状分析。ACM事务处理。程序。语言系统。24(3),217-298(2002)·doi:10.1145/514188.514190
[27] Wies,T.、Kuncak,V.、Zee,K.、Podelski,A.、Rinard,M.:关于使用符号形状分析验证复杂属性的问题。2007年HAV’07年堆分析和验证会议记录(2007年)·Zbl 1132.68348号
[28] Wies,T.和Podelski,A.:反例引导焦点。第37届SIGPLAN-SIGACT编程语言原理研讨会会议记录——POPL’10,第249-260页。ACM(2010)·Zbl 1312.68067号
[29] Yang,H.,Lee,O.,Berdine,J.,Calcagno,C.,Cook,B.,Distefano,D.,O'Hearn,P.W.:系统代码的可缩放形状分析。《第20届计算机辅助验证国际会议论文集-CAV'08》,LNCS第5123卷,第385-398页。施普林格(2008)·Zbl 1155.68359号
[30] Zee,K.、Kuncak,V.、Rinard,M.C.:链接数据结构的全功能验证。2008年ACM SIGPLAN编程语言设计与实现会议记录-PLDI'08,第349-361页。ACM(2008)·Zbl 1243.68148号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。