×

行为效应系统对锁处理进行死锁检查。 (英语) Zbl 1246.68097号

摘要:死锁是基于锁的并发程序中常见的错误,很难避免甚至检测到。防止死锁的一种方法是静态分析程序代码以发现潜在死锁的来源。通常,静态方法试图确认锁定遵循给定的顺序,或者更好地推断出存在这样的顺序。这样的顺序排除了循环等待对方资源的情况,这将构成死锁。
相反,我们不强制或推断锁的显式顺序。相反,我们使用一个行为类型和效果系统,该系统在第一阶段根据声明的行为检查每个线程或进程的行为,捕获线程与锁的潜在交互。在全局级别的第二步中,探索行为的状态空间以检测潜在的死锁。我们定义了死锁敏感模拟的概念,以证明行为描述中固有的抽象的合理性。效果系统的稳健性通过主题约简得到了证明,其公式化可以捕获死锁敏感模拟。
为了使状态空间有限,我们展示了行为声音的两个进一步抽象,即限制重入锁计数器的上限,以及类似地将(一般无上下文)行为效果抽象为更粗糙的尾部递归描述。我们使用带有重入锁的简单并发演算来证明我们的分析正确性。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等)
PDF格式BibTeX公司 XML格式引用
全文: DOI程序

参考文献:

[1] Amtoft,T。;尼尔森,H.R。;Nielson,F.,《类型和效果系统:并发行为》(1999),帝国理工学院出版社
[2] 拉胡尔·阿加瓦尔;王丽强;Scott D.Stoller,《利用状态分析和运行时监控检测潜在死锁》,(Ur,S.;Bin,E.;Wolfsthal,Y.,《2005年海法验证会议论文集》,《计算机科学讲稿》,第3875卷(2006),Springer-Verlag),191-207
[3] 约翰·布利伯格(Johann Blieberger);伯尔尼Burgsteller;Scholz,Bernhard,用于检测Ada任务程序死锁的符号数据流分析,(第五届Ada-Europe可靠软件技术国际会议论文集,计算机科学讲稿,第1845卷(2000年),Springer-Verlag),225-237
[4] 马西莫·巴托莱蒂;皮耶保罗·德加诺(Pierpaolo Degano);费拉里,吉安·路易吉;Zunino,Roberto,(nu)-效果和新鲜度分析类型,(ICTAC’09,计算机科学讲义,第5684卷(2009),Springer-Verlag),80-95·Zbl 1250.68085号
[5] Boyapati,Chandrasekhar;罗伯特·李;Rinard,Martin,《安全编程的所有权类型:防止数据竞争和死锁》,(面向对象编程:系统、语言和应用程序(OOPSLA)'02(美国西雅图),SIGPLAN通知(2002),ACM)
[6] 布鲁尼,R。;Mezzina,L.G.,《服务和会话演算的类型和死锁自由》,(Meseguer,José;Rošu,Grigore,《2008年AMAST会议录》,计算机科学讲稿,第5140卷(2008),Springer-Verlag),100-115·Zbl 1170.68428号
[7] Boyapati,Chandrasekhar;亚历山大·萨尔恰努(Alexandru Salcianu);威廉·比比;Rinard,Martin,实时Java中基于区域的安全内存管理的所有权类型,(ACM编程语言设计与实现会议(加州圣地亚哥)(2003),ACM)
[8] Baeten,J.C.M。;van Glabbeek,R.J.,《过程代数中的合并和终止》(Nori,K.V.,《软件技术和理论计算机科学基础》,计算机科学讲义,第287卷(1987),Springer-Verlag),153-172,(另见CWI报告CS-R8716)·兹伯利0636.68024
[9] 科夫曼,E.G。;埃尔菲克,M。;Shoshani,A.,系统死锁,计算。调查。,3, 2, 67-78 (1971) ·Zbl 0226.68015号
[10] 埃德蒙·克拉克;Orna Grumberg;Jha,萨默什;卢元;Veith,Helmut,《反示例引导的抽象精化》(Emerson,E.A.;Sistla,A.P.,《CAV’00会议录》,《计算机科学讲义》,第1855卷(2000),Springer-Verlag),154-169·Zbl 0974.68517号
[11] 埃德蒙·克拉克(Edmund M.Clarke)。;Orna Grumberg;Peled,Doron,《模型检验》(1999),麻省理工学院出版社·Zbl 1423.68002号
[12] Christiansen,Jan;Huch,Frank,调试并发Haskell程序时搜索死锁,(Okasaki,Chris;Fisher,Kathleen,第九届ACM SIGPLAN国际函数编程会议论文集(2004),ACM),28-39·Zbl 1323.68104号
[13] Corbett,J.,评估并发软件的死锁检测方法,IEEE Trans。柔和。工程,22,3,161-180(1996)
[14] 德波尔(Frank S.de Boer)。;Grabe,Immo,同步可重入多线程调用图中的自动死锁检测,(van Leeuwen,Jan;Muscholl,Anca;Peleg,David;Pokorn,Jaroslav;Rumpe,Bernhard,SOFSEM 2010:计算机科学理论与实践,第36届计算机科学理论和实践当前趋势会议,计算机科学讲稿,第5901卷(2010),Springer-Verlag),200-211·Zbl 1274.68084号
[15] Deitel,Harvey M.,《操作系统简介》(1984),Addison-Wesley·Zbl 0599.68003号
[16] Dawson R.Engler,Ken Ashcraft,RacerX:有效静态检测竞争条件和死锁,摘自:《第19届ACM操作系统原理研讨会论文集》,2003年,第237-252页。;Dawson R.Engler,Ken Ashcraft,RacerX:比赛条件和死锁的有效、静态检测,载于:第19届美国计算机学会操作系统原理研讨会论文集,2003年,第237-252页。
[17] 弗拉纳根,C。;Abadi,M.,《反对种族的对象类型》,(Baeten,Jos C.M.;Mauw,Sjouke,《CONCUR’99会议录》,《计算机科学讲义》,第1664卷(1999),Springer-Verlag),288-303
[18] 弗拉纳根,C。;Abadi,M.,《安全锁定的类型》(Doaitse Swierstra,S.,《编程语言和系统》,《计算机科学讲义》,第1576卷(1999),Springer),第91-108页
[19] Cormac Flanagan,Stephen Freund,Java的基于类型的种族检测,摘自:PLDI’00会议记录,ACM SIGPLAN ACM编程语言设计与实现会议,2000年,第219-232页。;Cormac Flanagan,Stephen Freund,Java的基于类型的种族检测,摘自:PLDI’00会议记录,ACM SIGPLAN会议,ACM编程语言设计与实现会议,2000年,第219-232页。
[20] Manuel Fähndrich,Sriram K.Rajamani,Jakob Rehof,动态配置通信网络中的静态死锁预防,收录于:并发视角,纪念P.S.Thiagarajan的节日,2008年,第128-156页。;Manuel Fähndrich,Sriram K.Rajamani,Jakob Rehof,动态配置通信网络中的静态死锁预防,收录于:并发视角,纪念P.S.Thiagarajan的节日,2008年,第128-156页·Zbl 1193.68161号
[21] D.Grossman,《旋风中的类型安全多线程》,收录于:TLDI’03:语言设计与实现中的类型,2003年,第13-25页。;D.Grossman,《旋风中的类型安全多线程》,收录于:TLDI’03:语言设计与实现中的类型,2003年,第13-25页。
[22] 理查德·克雷格·霍尔特(Richard Craig Holt),《论计算机系统中的死锁》(On Deadlock in Computer Systems),博士论文,康奈尔大学,伊萨卡,纽约州,美国,1971年。;理查德·克雷格·霍尔特(Richard Craig Holt),《计算机系统中的死锁问题》(On Deadlock in Computer Systems),博士论文,美国纽约州伊萨卡市康奈尔大学,1971年。
[23] Atsushi Igarashi;Naoki Kobayashi,《pi-calculus的通用类型系统》(2001年《POPL学报》,ACM),128-141·Zbl 1323.68410号
[24] Java教程:并发。可从以下网站获得:<download.oracle.com/javase/tutorial/essential/concurrency>;Java教程:并发。可从以下网站获得:<download.oracle.com/javase/tutorial/essential/concurrency>
[25] Vineet Kahlon;伊万西奇,弗兰乔;Gupta,Aarti,《线程通过锁通信的推理》,(Etessami,Kousha;Rajamani,Sriram K.,CAV,《计算机科学讲义》,第3576卷(2005),Springer-Verlag),505-518·Zbl 1081.68623号
[26] Kobayashi,Naoki,部分无死锁类型过程演算,ACM Trans。程序。语言系统。,20,2,436-482(1998年),(一份扩展摘要,之前曾出现在《1997年LICS会议录》,第128-139页)
[27] Kobayashi,Naoki,基于类型的微积分信息流分析,信息学报。,42,4-5291-347(2005年)·Zbl 1081.68061号
[28] Kobayashi,Naoki,无死锁过程的新型系统,(CONCUR 2006年会议记录,计算机科学讲稿,第4137卷(2006),Springer-Verlag),233-247·Zbl 1151.68537号
[29] 小林直树;Saito,Shin;Sumii,Eijiro,隐式无死锁过程演算,(Palamidessi,Catuscia,CONCUR 2000会议录,计算机科学讲义,第1877卷(2000),Springer-Verlag),489-503·Zbl 0999.68532号
[30] Kurshan,R.P.,协调过程的计算机辅助验证,自动机理论方法,普林斯顿计算机科学丛书(1994),普林斯顿大学出版社
[31] 莱文,格特鲁德·诺伊曼,《定义僵局》,SIGOPS Oper。系统。修订版,37、1、54-64(2003)
[32] 罗宾·米尔纳,《程序间模拟的代数定义》,(第二届人工智能国际联合会议(1971年),威廉·考夫曼),481-489
[33] Mayur Naik;艾肯(Aiken),亚历克斯(Alex),《静态种族检测条件不得混淆》(2007年《POPL学报》,ACM)·Zbl 1295.68073号
[34] 尼尔森,弗莱明;尼尔森、汉尼·里斯;Hankin,Chris L.,《程序分析原理》(1999),施普林格-弗拉格出版社·Zbl 0932.68013号
[35] Ka I Pun,Martin Steffen,Volker Stolz,锁处理的行为效应系统死锁检查。奥斯陆大学信息学系技术报告404,2011年。;Ka I Pun,Martin Steffen,Volker Stolz,锁处理的行为效应系统死锁检查。技术报告404,奥斯陆大学信息学系,2011年·Zbl 1246.68097号
[36] 比尔·罗斯科;达蒂,奈姆,追求僵局自由,知情。计算。,75, 3, 289-327 (1987) ·Zbl 0626.68019号
[37] Stolz,Volker,参数化命题的时态断言,逻辑计算杂志。,20, 3, 743-757 (2010) ·Zbl 1203.68103号
[38] Tachio Terauchi,《通过线性规划检查种族自由》,载于:《2008年ACM SIGPLAN编程语言设计与实现会议论文集》,PLDI’08,美国纽约州纽约市,2008年,ACM,第1-10页。;Tachio Terauchi,《通过线性规划检查种族自由》,载于《2008年ACM SIGPLAN编程语言设计与实现会议论文集》,PLDI’08,美国纽约州纽约市,2008年,ACM,第1-10页·Zbl 1133.68387号
[39] 罗布·范格拉贝克(Rob van Glabbeek);Goltz,Ursula,并发系统动作和等价概念的精化,信息学报。,37, 4/5, 229-327 (2001) ·Zbl 0969.68081号
[40] 艾米·威廉姆斯;Thies,William;Ernst,Michael D.,Java库的静态死锁检测,(Black,Andrew P.,面向对象编程系统会议记录,语言(ECOOP 2005),计算机科学讲稿,第3586卷(2005),Springer)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。