×

放松内存一致性模型的基于观察的并发程序逻辑。 (英语) Zbl 1483.68066号

Igarashi,Atsushi(编辑),《编程语言和系统》。2016年11月21日至23日,第14届亚洲研讨会,2016年APLAS,越南河内。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。10017, 63-84 (2016).
概要:并发程序逻辑是构造证明的框架,它确保并发程序正确工作。然而,大多数传统的并发程序逻辑没有考虑现代存储器结构的复杂性,并且逻辑中的证明不能确保程序正确工作。据我们所知,独立读独立写(IRIW)在放松内存一致性模型下具有非直觉行为,但尚未在并发程序逻辑的背景下进行充分研究。一个原因是程序逻辑可以处理的理论内存一致性模型与实际计算机体系结构所采用的实际内存一致性模式之间的差距。在本文中,我们提出了填补这一空白的观察变量和不变量,从而使我们不需要为每个特定的内存一致性模型构建操作语义和逻辑。我们描述了松弛内存一致性模型的一般操作语义,定义了并发程序逻辑对操作语义的影响,证明了观察不变量可以形式化为逻辑的公理,并在观察不变量下验证了IRIW。我们还通过构建逻辑获得了一个新的见解。为了定义符合操作语义的逻辑,我们从断言语言中去掉程序中的共享变量,并采用线程观察到的变量。这表明,整个计算系统的所谓鸟瞰图扰乱了逻辑的可靠性。
关于整个系列,请参见[Zbl 1347.68009号].

MSC公司:

第68页第19页 其他编程范式(面向对象、顺序、并发、自动等)
03B70号 计算机科学中的逻辑
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abe,T.、Maeda,T.:循环迭代中具有依赖性的松弛内存一致性模型的并发程序逻辑。J.信息处理。(2016年,待发布)·Zbl 1483.68066号
[2] Abe,T.、Maeda,T.:用于各种内存一致性模型的通用模型检查框架。国际期刊软件。技术工具。转让(2016年,待公布)。doi:10.1007/s10009-016-0429-y·doi:10.1007/s10009-016-0429-年
[3] Abe,T.、Ugawa,T.,Maeda,T.和Matsumoto,K.:使用放松的内存一致性模型减少软件模型检查的状态爆炸。收录:SETTA会议记录。LNCS,第9984卷(2016年出版)。doi:10.1007/978-3-319-47677-38·doi:10.1007/978-3-319-47677-38
[4] Boehm,H.J.,Adve,S.V.:C++并发内存模型的基础。摘自:PLDI会议记录,第68–78页(2008年)·数字对象标识代码:10.1145/1375581.1375591
[5] Boudol,G.,Petri,G.:放松记忆模型:一种操作方法。摘自:《POPL学报》,第392-403页(2009年)·Zbl 1315.68173号 ·数字对象标识代码:10.1145/1594834.1480930
[6] Boudol,G.,Petri,G.,Serpette,B.P.:并发编程语言的宽松操作语义。摘自:《EXPRESS/SOS学报》,第19-33页(2012年)·doi:10.4204/EPTCS.89.3
[7] Ferreira,R.,Feng,X.,Shao,Z.:参数化记忆模型和并发分离逻辑。收录:Gordon,A.D.(编辑)2010年《员工持股计划》。LNCS,第6012卷,第267-286页。施普林格,海德堡(2010)。doi:10.1007/978-3642-11957-6_15·Zbl 1260.68093号 ·doi:10.1007/978-3642-11957-6_15
[8] Hoare,C.A.R.:计算机编程的公理基础。Commun公司。ACM 12(10),576–580,583(1969)·Zbl 0179.23105号 ·doi:10.1145/363235.363259
[9] Hoare,T.,Möller,B.,Struth,G.,Wehrman,I.:并发Kleene代数及其基础。J.日志。代数课程80(6),266–296(2011)·Zbl 1278.68176号 ·doi:10.1016/j.jrap.2011.04.005
[10] Holzmann,G.J.:SPIN模型检查器。Addison-Wesley,雷丁(2003)
[11] 英特尔公司:英特尔安腾处理器系列内存订购的正式规范(2002)
[12] ISO,IEC 14882:2011:编程语言C++(2011)
[13] Jones,C.B.:计算机程序的开发方法,包括干扰的概念。牛津大学博士论文(1981年)
[14] Jonsson,B.:弱内存顺序下并发算法的状态空间探索:(初步版本)。SIGARCH计算。阿基特。新闻36(5),65–71(2008)·doi:10.1145/1556444.1556453
[15] Lahav,O.,Vafeiadis,V.:Owicki Gries对弱记忆模型的推理。收录人:Halldórsson,M.M.,Iwama,K.,Kobayashi,N.,Speckmann,B.(编辑)ICALP 2015。LNCS,第9135卷,第311-323页。斯普林格,海德堡(2015)。doi:10.1007/978-3-662-47666-6_25·兹比尔1440.68046 ·doi:10.1007/978-3-662-47666-6_25
[16] Lamport,L.:行动的时间逻辑。ACM TOPLAS 16(3),872–923(1994)·数字对象标识代码:10.1145/177492.177726
[17] Linden,A.,Wolper,P.:基于自动机的符号方法,用于验证放松记忆模型上的程序。摘自:Pol,J.,Weber,M.(编辑)SPIN 2010。LNCS,第6349卷,第212-226页。施普林格,海德堡(2010)。doi:10.1007/978-3-642-16164-3_16·Zbl 05804762号 ·文件编号:10.1007/978-3-642-16164-3_16
[18] Meyer,J.J.C.:模态认知逻辑和多义逻辑。收录于:Gabbay,D.M.,Guenthner,F.(编辑)《哲学逻辑手册》,第10卷,第2版,第1-38页。施普林格,多德雷赫特(2004)
[19] Nieto,L.P.:Isabelle/HOL中的可靠性保证方法。摘自:Degano,P.(编辑)ESOP 2003。LNCS,第2618卷,第348-362页。斯普林格,海德堡(2003)。doi:10.1007/3-540-36575-3_24·兹比尔1032.68130 ·doi:10.1007/3-540-36575-3_24
[20] 甲骨文公司:Java语言规范。Java SE 8版(2015)
[21] Owens,S.:关于在x86-TSO上实现并发抽象的推理。摘自:D'Hondt,T.(编辑)ECOOP 2010。LNCS,第6183卷,第478–503页。施普林格,海德堡(2010)。doi:10.1007/978-3-642-14107-223·Zbl 05773908号 ·doi:10.1007/978-3-642-14107-223
[22] Owens,S.、Sarkar,S.和Sewell,P.:更好的x86内存模型:x86-TSO。收录:Berghofer,S.、Nipkow,T.、Urban,C.、Wenzel,M.(编辑)TPHOLs 2009。LNCS,第5674卷,第391-407页。斯普林格,海德堡(2009)。doi:10.1007/978-3642-03359-9_27·Zbl 05618521号 ·doi:10.1007/978-3642-03359-9_27
[23] Ridge,T.:x86-TSO的可靠保证证明系统。收录:Leavens,G.T.,O'Hearn,P.,Rajamani,S.K.(编辑)VSTTE 2010。LNCS,第6217卷,第55-70页。施普林格,海德堡(2010)。doi:10.1007/978-3642-15057-94·Zbl 05773538号 ·doi:10.1007/978-3642-15057-94
[24] Sarkar,S.、Sewell,P.、Algale,J.、Maranget,L.、Williams,D.:了解POWER多处理器。摘自:PLDI会议记录,第175-186页(2011年)·doi:10.1145/1993498.1993520
[25] Sarkar,S.、Sewell,P.、Nardelli,F.Z.、Owens,S.,Ridge,T.、Braibant,T、Myreen,M.O.、Algale,J.:x86-CC多处理器机器代码的语义。摘自:《POPL学报》,第379–391页(2008年)·Zbl 06455628号 ·数字对象标识代码:10.1145/1480881.1480929
[26] Sewell,P.、Sarkar,S.、Owens,S.,Nardelli,F.Z.、Myreen,M.O.:x86-TSO:x86多处理器的严格且可用的程序员模型。Commun公司。ACM 53(7),89–97(2010)·Zbl 05766788号 ·数字对象标识代码:10.1145/1785414.1785443
[27] SPARC国际公司:《SPARC体系结构手册》,第9版(1994年)
[28] Stölen,K.:在共享数据结构上开发并行程序。技术报告UMCS-91-1-1,曼彻斯特大学计算机科学系(1991)
[29] Tofan,B.,Schellhorn,G.,Bäumler,S.,Reif,W.:在时序逻辑中嵌入可靠保证推理。奥格斯堡大学信息研究所技术报告(2010年)
[30] Turon,A.,Vafeiadis,V.,Dreyer,D.:GPS:用幽灵、协议和分离导航弱内存。摘自:OOPSLA会议记录。691–707(2014) ·doi:10.1145/2714064.2660243
[31] Vafeiadis,V.:关于C11弱记忆模型的形式推理。致:CPP会议记录(2015)·doi:10.1145/2676724.2693181
[32] Vafeiadis,V.,Narayan,C.:松弛分离逻辑:C11并发的程序逻辑。在:OOPSLA会议记录,第867-884页(2013)·doi:10.1145/2509136.2509532
[33] Staden,S.:关于可靠保证推理。摘自:Hinze,R.,Voigtländer,J.(编辑)MPC 2015。LNCS,第9129卷,第30-49页。斯普林格,海德堡(2015)。doi:10.1007/978-3-319-19797-52·Zbl 1432.68321号 ·doi:10.1007/978-3-319-19797-52
[34] Winskel,G.:编程语言的形式语义。麻省理工学院出版社,剑桥(1993)·Zbl 0919.68082号
[35] Xu,Q.:基于状态的并行编程理论。牛津大学计算机实验室博士论文(1992年)
[36] Xu,Q.,de Roever,W.P.,He,J.:验证共享变量并发程序的可靠保证方法。形式方面计算。9(2), 149–174 (1997) ·Zbl 0874.68202号 ·doi:10.1007/BF01211617
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。