×

用于验证堆操作的森林自动机。 (英语) Zbl 1284.68398号

摘要:我们考虑验证操作动态链接数据结构的程序,例如各种形式的单链接和双链接列表或树。我们考虑了这类系统的重要属性,如无空点引用、无垃圾、形状属性等。我们开发了一种基于树自动机的新颖使用来表示堆配置的验证方法。堆被分割成几个“分离的”部分,这样每个部分都可以用树自动机表示。自动机可以相互引用,允许堆的不同部分相互引用其边界。此外,通过允许树自动机的字母表包含其他嵌套树自动机,我们允许堆的层次表示。程序指令可以很容易地编码为表示结构上的操作。这允许基于符号状态空间探索以及所谓的抽象正则树模型检查中的可再精炼抽象来验证程序。这种方法的动机是将基于自动机的方法的优点(抽象的更高通用性和灵活性)与基于分离逻辑的方法的一些优点(效率)结合起来。我们已经实施了我们的方法,并在多个非平凡的案例研究中成功测试了它。

MSC公司:

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

参考文献:

[1] Abdulla PA、Bouajjani A、Cederberg J、Haziza F、Rezine A(2008)《动态内存堆程序的单调抽象》。In:CAV’08程序。LNCS,第5123卷。柏林施普林格·Zbl 1155.68423号
[2] Abdulla PA、Bouajjani A、Holík L、Kaati L、Vojnar T(2008)《树自动机上的计算模拟:减少TA的有效技术》。In:TACAS’08程序。LNCS,第4963卷·Zbl 1134.68391号
[3] Abdulla PA、Chen Y-F、Holík L、Mayr R、Vojnar T(2010)《模拟遇到反链时》(关于检查NFA的语言包含)。In:TACAS'10程序。LNCS,第6015卷。柏林施普林格·兹比尔1284.68337
[4] Berdine J、Calcagno C、Cook B、Distefano D、O’Hearn PW、Wies T、Yang H(2007)《复合数据结构的形状分析》。In:2007年CAV程序。LNCS,第4590卷。施普林格,柏林·Zbl 1135.68372号
[5] Bouajjani A、Bozga M、Habermehl P、Iosif R、Moro P、Vojnar T(2006)带有列表的程序是计数器自动机。In:CAV’06程序。LNCS,第4144卷。柏林施普林格·Zbl 1188.68181号
[6] Bouajjani A,Habermehl P,Rogalewicz A,Vojnar T(2006)抽象规则树模型检查。计算机科学电子笔记149(1):37–48·Zbl 1273.68221号 ·doi:10.1016/j.entcs.2005.11.015
[7] Bouajjani A,Habermehl P,Rogalewicz A,Vojnar T(2006)复杂动态数据结构的抽象规则树模型检查。In:SAS’06程序。LNCS,第4134卷。柏林施普林格·Zbl 1225.68067号
[8] Calcagno C、Distefano D、O’Hearn PW、Yang H(2009)《利用Bi外推进行成分形状分析》。在:《持久性有机污染物名录》2009年版。ACM,纽约·Zbl 1315.68085号
[9] Deshmukh JV、Emerson EA、Gupta P(2006)参数化数据结构的自动验证。In:TACAS'06程序。LNCS,第3920卷。柏林施普林格·Zbl 1180.68126号
[10] Dudka K、Peringer P、Vojnar T(2011)《捕食者:使用分离逻辑检查动态数据结构操作的实用工具》。In:CAV’11程序。LNCS,第6806卷。施普林格,柏林
[11] Guo B,Vachharajani N,August DI(2007),形状分析与归纳递归合成。In:PLDI’07程序。ACM,纽约
[12] Habermehl P、Holík L、Rogalewicz A、Šimáckek J、Vojnar T(2011)堆操作验证的森林自动机。技术报告FIT-TR-2011-01,FIT BUT,捷克共和国。网址:http://www.fit.vutbr.cz/\(\sim\)isimacek/pub/FIT-TR-2011-01.pdf·Zbl 1284.68398号
[13] Madhusudan P,Parlato G,Qiu X(2011)结合堆结构和数据的可判定逻辑。收录:POPL'11进程。ACM,纽约·Zbl 1284.68411号
[14] Möller A,Schwartzbach M(2001)指针断言逻辑引擎。In:PLDI’01程序。ACM,纽约
[15] Nguyen HH,David C,Qin S,Chin WN(2007)通过分离逻辑自动验证形状和尺寸特性。In:VMCAI’07程序。LNCS,第4349卷。柏林施普林格·Zbl 1132.68477号
[16] Reynolds JC(2002)《分离逻辑:共享可变数据结构的逻辑》。In:LICS’02程序。IEEE计算协会,洛斯阿拉米托斯
[17] Sagiv S,Reps TW,Wilhelm R(2002),通过三值逻辑进行参数形状分析。ACM Trans程序语言系统24(3):217–298·doi:10.1145/514188.514190
[18] Yang H、Lee O、Calcagno C、Distefano D、O'Hearn PW(2007)《可扩展形状分析》。伦敦大学玛丽女王学院技术报告RR-07-10
[19] Yang H,Lee O,Berdine J,Calcagno C,Cook B,Distefano D,O'Hearn PW(2008)系统代码的可缩放形状分析。In:CAV’08程序。LNCS,第5123卷。柏林施普林格·Zbl 1155.68359号
[20] Zee K,Kuncak V,Rinard M(2008)链接数据结构的全功能验证。In:PLDI’08程序。ACM,纽约
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。