×

基于静态跟踪的同步Mini-Go死锁分析。 (英语) Zbl 1483.68056号

Igarashi,Atsushi(编辑),《编程语言和系统》。2016年11月21日至23日,第14届亚洲研讨会,2016年APLAS,越南河内。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。10017, 116-136 (2016).
摘要:我们考虑了Go编程语言中使用同步通道通信的程序的静态死锁检测问题。在我们的分析中,使用fork运算符扩展的正则表达式捕获程序的通信行为。从描述无死锁程序痕迹的简单标准开始,我们开发了基于自动机的方法来检查死锁自由。通过一系列示例对该方法进行了实现和评估。
关于整个系列,请参见[Zbl 1347.68009号].

MSC公司:

68甲15 编程语言理论
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Boyapati,C.,Lee,R.,Rinard,M.C.:安全编程的所有权类型:防止数据竞争和死锁。摘自:《OOPSLA 2002年会议记录》,第211–230页。ACM(2002)·doi:10.1145/583854.582440
[2] Brzozowski,J.A.:正则表达式的导数。J.ACM 11(4),481-494(1964)·Zbl 0225.94044号 ·数字对象标识代码:10.1145/321239.321249
[3] Christakis,M.,Sagonas,K.:使用静态分析检测异步消息传递错误。收录:Rocha,R.,Launchbury,J.(编辑)PADL 2011。LNCS,第6539卷,第5-18页。斯普林格,海德堡(2011)。doi:10.1007/978-3642-18378-23·Zbl 05867247号 ·doi:10.1007/978-3642-18378-23
[4] Colby,C.:分析并发程序的通信拓扑。摘自:《1995年政治公众人物会议记录》,第202-213页。ACM(1995)·doi:10.1145/215465.215592
[5] Engler,D.R.,Ashcraft,K.:RacerX:对比赛条件和死锁的有效、静态检测。摘自:《2003年SOSP会议记录》,第237–252页。ACM(2003年)·数字对象标识代码:10.1145/945445.945468
[6] 围棋编程语言。https://golang.org/
[7] Oracle:一个用于回答go源代码问题的工具。https://godoc.org/golang.org/x/tools/cmd/oracle网站
[8] Gopherlyzer:基于跟踪的mini-go死锁检测。https://github.com/KaiSta/gopherlyzer网站
[9] Hoare,C.A.R.:传达顺序过程。Commun公司。ACM 21(8),666–677(1978)·Zbl 0383.68028号 ·doi:10.1145/359576.359585
[10] Huang,S.T.:一种用于类CSP通信的分布式死锁检测算法。ACM事务处理。程序。语言系统。12(1), 102–122 (1990) ·doi:10.1145/77606.77611
[11] 小林,N.:TyPiCal:基于类型的Pi-Calculus静态分析仪。http://www-kb.is.s.u-tokyo.ac.jp/koba/典型/
[12] 小林,N.:基于类型的像素信息流分析。《学报》第42期(4-5期),第291-347期(2005年)·Zbl 1081.68061号 ·文件编号:10.1007/s00236-005-0179-x
[13] 小林,N.:无死锁过程的新型系统。收录:Baier,C.,Hermanns,H.(编辑)CONCUR 2006。LNCS,第4137卷,第233-247页。斯普林格,海德堡(2006)。doi:10.1007/11817949_16·Zbl 1151.68537号 ·doi:10.1007/11817949_16
[14] Ladkin,P.B.,Simons,B.B.:CSP型通信的静态死锁分析。摘自:Fussell,D.S.,Malek,M.(编辑)《响应式计算机系统:实现容错实时系统的步骤》,第89–102页。斯普林格,波士顿(1995)·doi:10.1007/978-1-4615-2271-35
[15] Martel,M.,Gengler,M.:并发程序的通信拓扑分析。收录:Havelund,K.,Penix,J.,Visser,W.(编辑)SPIN 2000。LNCS,第1885卷,第265–286页。斯普林格,海德堡(2000)。doi:10.1007/10722468_16·Zbl 0976.68041号 ·doi:10.1007/10722468_16
[16] Mercouroff,N.:一种用于分析通信过程的算法。摘自:Brookes,S.、Main,M.、Melton,A.、Mislove,M.和Schmidt,D.(编辑)MFPS 1991。LNCS,第598卷,第312-325页。斯普林格,海德堡(1992)。doi:10.1007/3-540-55511-0_16·doi:10.1007/3-540-55511-0_16
[17] Milner,R.:通信和移动系统:\[\圆周率\]-微积分。剑桥大学出版社,纽约(1999)·Zbl 0942.68002号
[18] Ng,N.,Yoshida,N.:并行go-by全局会话图合成的静态死锁检测。摘自:《2016年CC会议录》,第174-184页。ACM(2016)·数字对象标识代码:10.1145/2892208.2892232
[19] 尼尔森,H.R.,尼尔森,F.:具有有限通信拓扑的高阶并发程序。摘自:《1994年POPL会议录》,第84-97页。ACM出版社,1994年1月
[20] Reppy,J.H.:《ML并行编程》,剑桥大学出版社,纽约(1999)·Zbl 0900.68214号 ·doi:10.1017/CBO9780511574962
[21] Sulzmann,M.,Thiemann,P.:可分叉正则表达式。收录人:Dediu,A.-H.,Janoušek,J.,Martín-Vide,C.,Truthe,B.(编辑)LATA 2016。LNCS,第9618卷,第194-206页。斯普林格,海德堡(2016)。doi:10.1007/978-3-319-30000-9_15·Zbl 1443.68097号 ·doi:10.1007/978-3-319-30000-9_15
[22] Williams,A.,Thies,W.,Ernst,M.D.:Java库的静态死锁检测。In:Black,A.P.(编辑)ECOOP 2005。LNCS,第3586卷,第602-629页。斯普林格,海德堡(2005)。doi:10.1007/11531142-26·doi:10.1007/11531142-26
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。