×

参数化并发共享内存程序的可靠保证边界分析。应用于证明非阻塞算法是有界无锁的。 (英语) Zbl 1522.68161号

摘要:我们提出了一种线程模块证明方法复杂性与资源约束分析并发共享内存程序。为此,我们将琼斯的可靠保证推理提升为能够表达边界的假设和承诺。该框架的组合性(线程-模块性)允许我们推理参数化程序,即执行任意多个并发线程的程序。我们通过将并发程序的边界分析减少到顺序情况来自动化逻辑中的推理。作为应用程序,我们自动推断一系列细粒度并发算法的时间复杂性,无锁数据结构据我们所知,这是第一次。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
60年第68季度 规范和验证(程序逻辑、模型检查等)

软件:

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

参考文献:

[1] M.阿巴迪。;Lamport,L.,连接规范,ACM Trans。程序。语言系统。,17, 3, 507-534 (1995) ·doi:10.1145/203095.201069
[2] Abdulla PA、Haziza F、Holík L、Jonsson B、Rezine A(2013)高度并发数据结构的集成规范和验证技术。收录于:TACAS,《计算机科学讲义》,第7795卷,第324-338页。施普林格·Zbl 1381.68141号
[3] Albert E,Arenas P,Genaim S,Gómez Zamaloa M,Puebla G(2012)资源消耗界限的自动推断。收录于:LPAR,《计算机科学课堂讲稿》,第7180卷,第1-11页。施普林格·Zbl 1352.68048号
[4] 艾伯特·E。;阿雷纳斯,P。;Genaim,S。;Puebla,G.,《静态成本分析中的闭式上界》,J.Autom。原因。,46, 2, 161-203 (2011) ·Zbl 1213.68200号 ·doi:10.1007/s10817-010-9174-1
[5] 阿尔伯特,E。;Flores-Montoya,A。;Genaim,S。;Martin-Martin,E.,《并行交织环路的可靠性保证终端和成本分析》,J.Autom。原因。,59, 1, 47-85 (2017) ·Zbl 1409.68071号 ·doi:10.1007/s10817-016-9400-6
[6] Alias C、Darte A、Feautrier P、Gonnord L(2010)《流程图程序的多维排名、程序终止和复杂性界限》。收录于:SAS,《计算机科学讲义》,第6337卷,第117-133页。施普林格·Zbl 1306.68017号
[7] Berdine J、Lev-Ami T、Manevich R、Ramalingam G、Sagiv S(2008)《并行形状分析的螺纹量化》。收录于:CAV,《计算机科学讲义》,第5123卷,第399-413页。施普林格·Zbl 1155.68360号
[8] Bouajjani,A。;博兹加,M。;哈贝梅尔,P。;Iosif,R。;莫罗,P。;Vojnar,T.,带列表的程序是计数器自动机,形式方法系统。设计。,38, 2, 158-192 (2011) ·Zbl 1217.68059号 ·doi:10.1007/s10703-011-0111-7
[9] Brockschmidt M,Emmes F,Falke S,Fuhs C,Giesl J(2016)分析整数程序的运行时和大小复杂性。ACM事务处理。程序。语言系统。38(4):13:1-13:50
[10] Calcagno C、Distefano D、O’Hearn PW、Yang H(2009)《利用双向还原法进行成分形状分析》。收录于:POPL,第289-300页。ACM公司·兹比尔1315.68085
[11] Calcagno C、Parkinson MJ、Vafeiadis V(2007)《细粒度并发的模块化安全检查》。收录于:SAS,《计算机科学讲义》,第4634卷,第233-248页。施普林格·Zbl 1211.68082号
[12] Carbonneaux Q、Hoffmann J、Reps TW、Shao Z(2017)《使用coq证明对象的自动资源分析》。载于:CAV(2),《计算机科学讲义》,第10427卷,第64-85页。施普林格·Zbl 1494.68051号
[13] Chakraborty S,Henzinger TA,Sezgin A,Vafeiadis V(2015)面向方面的线性化能力证明。逻辑方法计算科学11(1)·Zbl 1391.68023号
[14] 教练。https://github.com/thpani/coachman (2019)
[15] Cook B、Podelski A、Rybalchenko A(2007)《证明螺纹终止》。收录于:PLDI,第320-330页。ACM公司
[16] Doherty S,Groves L,Luchangco V,Moir M(2004)实用无锁队列算法的形式验证。收录于:FORTE,《计算机科学讲义》,第3235卷,第97-114页。施普林格·Zbl 1110.68410号
[17] Fiedor T、Holík L、Rogalewicz A、Sinn M、Vojnar T、Zuleger F(2018)《从形状到摊销复杂性》。收录于:VMCAI,《计算机科学讲义》,第10747卷,第205-225页。施普林格·Zbl 1446.68030号
[18] Flanagan C,Freund SN,Qadeer S(2002)共享内存程序的线程模块验证。收录于:ESOP,《计算机科学讲义》,第2305卷,第262-277页。施普林格·Zbl 1077.68606号
[19] Flanagan C,Qadeer S(2003)《线程模块模型检查》。摘自:SPIN,《计算机科学讲义》,第2648卷,第213-224页。施普林格·Zbl 1023.68529号
[20] Flores-Montoya A,Hähnle R(2014)《复杂项目的资源分析与成本方程》。载于:APLAS,《计算机科学讲义》,第8858卷,第275-295页。施普林格·Zbl 1453.68047号
[21] Gotsman A、Berdine J、Cook B、Sagiv M(2007)《螺纹模数形状分析》。收录于:PLDI,第266-277页。ACM公司
[22] Gotsman A、Cook B、Parkinson MJ、Vafeiadis V(2009)证明非阻塞算法不会阻塞。载于:持久性有机污染物清单,第16-28页。ACM公司·Zbl 1315.68093号
[23] Gulwani S,Zuleger F(2010)可达性界问题。收录于:PLDI,第292-304页。ACM公司
[24] Hendler D,Shavit N,Yerushalmi L(2004)一种可扩展的无锁堆栈算法。收录于:SPAA,第206-215页。ACM公司·Zbl 1233.68224号
[25] Herlihy,M。;Shavit,N.,《多处理机编程的艺术》(2008),美国:Morgan Kaufmann,USA
[26] Holík L、Meyer R、Vojnar T、Wolff S(2017)线程模块分析的效果总结——声音分析,尽管启发式不完善。收录于:SAS,《计算机科学讲义》,第10422卷,第169-191页。施普林格
[27] 贾X,李伟,Vafeiadis V(2015)《轻松自动证明锁具自由度》。收录于:CPP,第119-127页。ACM公司
[28] Jones CB(1983)(并行)程序的规范和设计。摘自:IFIP大会,第321-332页。北荷兰/IFIP
[29] Malkis A、Podelski A、Rybalchenko A(2006)线程模块验证是笛卡尔抽象解释。收录于:ICTAC,《计算机科学讲义》,第4281卷,第183-197页。施普林格·Zbl 1168.68423号
[30] McMillan KL(1999)关于活性的循环合成推理。收录于:CHARME,《计算机科学课堂讲稿》,第1703卷,第342-345页。施普林格
[31] Michael MM,Scott ML(1996)简单、快速、实用的非阻塞和阻塞并发队列算法。收录于:PODC,第267-275页。ACM公司
[32] MinéA(2011)嵌入式关键并行C程序中运行时错误的静态分析。收录于:ESOP,《计算机科学讲义》,第6602卷,第398-418页。施普林格·Zbl 1239.68021号
[33] Pani T,Weissenbacher G,Zuleger F(2018)无锁算法自动边界分析的可靠保证推理。收录于:FMCAD,第1-9页。电气与电子工程师协会
[34] Petrank E,Musuvathi M,Steensgaard B(2009)通过有界锁自由实现并行程序的进度保证。收录于:PLDI,第144-154页。ACM公司
[35] Reynolds JC(2002)《分离逻辑:共享可变数据结构的逻辑》。收录于:LICS,第55-74页。IEEE计算机学会
[36] 辛恩,M。;Zuleger,F。;Veith,H.,《使用差异约束的命令式程序的复杂性和资源约束分析》,J.Autom。原因,59,1,3-45(2017)·兹比尔1409.68076 ·doi:10.1007/s10817-016-9402-4
[37] 斯特罗德,T。;Giesl,J。;Brockschmidt,M。;弗罗恩,F。;福斯,C。;亨塞尔,J。;施耐德-坎普,P。;Aschermann,C.,用指针算法自动证明程序的终止和内存安全,J.Autom。原因,58,1,33-65(2017)·Zbl 1409.68077号 ·doi:10.1007/s10817-016-9389-x
[38] Treiber RK(1986)《系统编程:并行处理》。IBM Almaden研究中心技术代表RJ 5118
[39] Vafeiadis V(2009)用于验证线性化的形状值抽象。收录于:VMCAI,《计算机科学讲义》,第5403卷,第335-348页。施普林格·Zbl 1206.68103号
[40] Vafeiadis V(2010)自动证明线性化能力。收录于:CAV,《计算机科学讲义》,第6174卷,第450-464页。施普林格
[41] Vafeiadis V(2010)Rgsep动作推理。收录于:VMCAI,《计算机科学讲义》,第5944卷,第345-361页。施普林格·Zbl 1273.68243号
[42] 徐,Q。;de Roever,可湿性粉剂;He,J.,验证共享变量并发程序的可靠保证方法,Formal Asp。计算。,9, 2, 149-174 (1997) ·Zbl 0874.68202号 ·doi:10.1007/BF01211617
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。