×

Aneris:分布式系统模块化推理的机械化逻辑。 (英语) Zbl 1508.68246号

Müller,Peter(编辑),《编程语言和系统》。2020年4月25日至30日在爱尔兰都柏林举行的第29届欧洲编程研讨会(ESOP 2020),是欧洲软件理论与实践联合会议(ETAPS 2020)的一部分。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。12075, 336-365 (2020).
摘要:构建网络连接程序和分布式系统是在数字、始终连接的时代提供可扩展性和可用性的强大方法。然而,强大的力量带来了巨大的复杂性。众所周知,对分布式系统进行推理是困难的。
在本文中,我们介绍阿内里斯一种基于分离逻辑的新框架,支持并行和分布式系统的模块化、节点局部推理。逻辑是高阶的、并发的,具有高阶存储和网络套接字,并且在Coq证明助手中完全机械化。我们使用我们的框架来验证使用多线程在多个服务器之间分配负载的负载平衡器的实现以及两阶段交付将复制的日志服务作为客户端的协议。两个示例证明阿内里斯非常适合水平和垂直模块化推理。
关于整个系列,请参见[Zbl 1496.68030号].

MSC公司:

68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等)
03B70号 计算机科学中的逻辑
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Birkedal,L.,Bizjak,A.:关于Iris的课堂讲稿:高阶一致分离逻辑(2017),URLhttp://iris-project.org/tutorial-pdfs/iris-lecture-notes.pdf
[2] Deniélou,P.,Yoshida,N.:动态多角色会话类型。摘自:Ball,T.,Sagiv,M.(编辑)第38届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,2011年POPL,美国德克萨斯州奥斯汀,2011年1月26-28日,第435-446页,ACM(2011),https://doi.org/10.1145/1926385.1926435 ·Zbl 1284.68049号 ·doi:10.1145/1926385.1926435
[3] Dinsdale-Young,T.,Birkedal,L.,Gardner,P.,Parkinson,M.J.,Yang,H.:观点:并发程序的组合推理。收录于:Gi-acobazzi,R.,Cousot,R.(eds.)第40届ACM SIGPLAN-SIGACT编程语言原理年度研讨会,2013年1月23日至25日,意大利罗马,第287-300页,ACM(2013),https://doi.org/10.1145/2429069.2429104 ·Zbl 1301.68099号 ·数字对象标识代码:10.1145/2429069.2429104
[4] Dinsdale-Young,T.,Dodds,M.,Gardner,P.,Parkinson,M.J.,Vafeiadis,V.:并发抽象谓词。摘自:D'Hondt,T.(编辑)ECOOP 2010——面向对象编程,第24届欧洲会议,2010年6月21日至25日,斯洛文尼亚马里博尔。《计算机科学论文集》,第6183卷,第504-528页,Springer(2010),https://doi.org/10.1007/978-3-642-14107-2_24 ·doi:10.1007/978-3-642-14107-2_24
[5] 弗洛伊德·R.W.:为程序赋予意义。计算机科学的数学方面19(19-32),1(1967)·Zbl 0189.50204号
[6] Gray,J.:数据库操作系统注释。收录人:Flynn,M.J.,Gray,J.,Jones,A.K.,Lagally,K.,Opderbeck,H.,Popek,G.J.,Randell,B.,Saltzer,J.H.,Wiehle,H.(编辑)《操作系统》,《高级课程》,《计算机科学笔记》,第60卷,第393-481页,Springer(1978),https://doi.org/10.1007/3-540-08755-9_9 ·Zbl 0375.68002号 ·doi:10.1007/3-540-08755-9_9
[7] Hawblitzel,C.,Howell,J.,Kapritsos,M.,Lorch,J.R.,Parno,B.,Roberts,M.L.,Setty,S.T.V.,Zill,B.:Ironfleet:证明实际分布式系统是正确的。摘自:Miller,E.L.,Hand,S.(eds.)《第25届操作系统原理研讨会论文集》,SOSP 2015,美国加利福尼亚州蒙特雷,2015年10月4日至7日,第1-17页,ACM(2015),https://doi.org/10.1145/2815400.2815428 ·doi:10.1145/2815400.2815428
[8] Hinrichsen,J.K.,Bengtson,J.,Krebbers,R.:Actris:分离逻辑中基于会话类型的推理。第四阶段,6:1-6:30(2020年),https://doi.org/10.1145/3371074 ·数字对象标识代码:10.1145/3371074
[9] Holzmann,G.J.:模型检查器SPIN。IEEE传输。软件工程23(5),279-295(1997),https://doi.org/10.109/32.588521 ·数字对象标识代码:10.1109/32.588521
[10] Honda,K.,Vasconcelos,V.T.,Kubo,M.:结构化通信编程的语言原语和类型规程。收录于:Hankin,C.(ed.)Programming Languages and Systems-ESOP’98,第七届欧洲编程研讨会,作为欧洲软件理论与实践联合会议的一部分,ETAPS’98,葡萄牙里斯本,1998年3月28日至4月4日,计算机科学论文集,第1381卷,第122-138页,Springer(1998),https://doi.org/10.1007/BFb0053567 ·doi:10.1007/BFb0053567
[11] Honda,K.,Yoshida,N.,Carbone,M.:多方异步会话类型。收录于:Necula,G.C.,Wadler,P.(eds.)《第35届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集》,POPL 2008,美国加利福尼亚州旧金山,2008年1月7日至12日,第273-284页,ACM(2008),https://doi.org/10.1145/1328438.1328472 ·兹比尔1295.68150 ·doi:10.1145/1328438.1328472
[12] Jung,R.、Jourdan,J.、Krebbers,R.和Dreyer,D.:Rustbelt:保护rust编程语言的基础。PACMPL 2(POPL),66:1-66:34(2018),https://doi.org/10.1145/3158154 ·doi:10.1145/3158154
[13] Jung,R.、Krebbers,R.,Birkedal,L.、Dreyer,D.:高阶鬼态。摘自:《第21届ACM SIGPLAN功能编程国际会议论文集》,第256-269页,ICFP 2016,美国纽约州纽约市计算机协会(2016),ISBN 9781450342193,https://doi.org/10.1145/2951913.2951943 ·Zbl 1361.68066号 ·doi:10.1145/2951913.2951943
[14] Jung,R.、Krebbers,R.,Jourdan,J.、Bizjak,A.、Birkedal,L.、Dreyer,D.:从头开始的Iris:高阶并发分离逻辑的模块化基础。J.功能。程序。28,e20(2018),https://doi.org/10.1017/S0956796818000151 ·Zbl 1476.68062号 ·doi:10.1017/S0956796818000151
[15] Jung,R.,Swasey,D.,Sieczkowski,F.,Svendsen,K.,Turon,A.,Birkedal,L.,Dreyer,D.:Iris:作为并行推理正交基础的单元体和不变量。收录人:Rajamani,S.K.,Walker,D.(eds.)《第42届ACM SIGPLAN-SIGACT编程语言原则研讨会论文集》,POPL 2015,印度孟买,2015年1月15日至17日,第637-650页,ACM(2015),https://doi.org/10.1145/2676726.2676980 ·Zbl 1346.68135号 ·doi:10.1145/2676726.2676980
[16] Kaiser,J.,Dang,H.,Dreyer,D.,Lahav,O.,Vafeiadis,V.:弱记忆的强逻辑:关于Iris中释放-获得一致性的推理。收录:Müller,P.(ed.)第31届欧洲面向对象编程会议,2017年6月19日至23日,西班牙巴塞罗那,LIPIcs,第74卷,第17:1-17:29页,达格斯图尔宫(Schloss Dagstuhl)-莱布尼茨-泽特鲁姆富尔信息(Leibniz-Zentrum fuer Informatik)(2017年),https://doi.org/10.4230/LIPIcs.ECOOP.2017.17 ·doi:10.4230/LIPIcs。2017年11月20日
[17] Killian,C.E.、Anderson,J.W.、Braud,R.、Jhala,R.和Vahdat,A.:梅斯:构建分布式系统的语言支持。In:Ferrante,J.,McKinley,K.S.(eds.)《2007年ACM SIGPLAN编程语言设计与实现会议录》,美国加利福尼亚州圣地亚哥,2007年6月10日至13日,第179-188页,ACM(2007),https://doi.org/10.1145/12507341.250755 ·doi:10.1145/1250734.1250755
[18] Krebbers,R.,Jung,R.,Bizjak,A.,Jourdan,J.,Dreyer,D.,Birkedal,L.:高阶并发分离逻辑的本质。Yang,H.(编辑)编程语言与系统——第26届欧洲编程研讨会,2017年ESOP,作为欧洲软件理论与实践联合会议的一部分举行,ETAPS 2017,乌普萨拉,瑞典,2017年4月22日至29日,计算机科学论文集,第10201卷,第696-723页,Springer(2017),https://doi.org/10.1007/978-3-662-54434-1_26 ·Zbl 1485.68069号 ·doi:10.1007/978-3-662-54434-1_26
[19] Krebbers,R.,Timany,A.,Birkedal,L.:高阶并发分离逻辑中的交互证明。收录:Castagna,G.,Gordon,A.D.(编辑)第44届ACM SIGPLAN编程语言原则研讨会论文集,2017年POPL,2017年1月18日至20日,法国巴黎,第205-217页,ACM(2017)·兹比尔1380.68341
[20] Krogh-Jespersen,M.,Timany,A.,Ohlenbusch,M.E.,Gregersen,S.O.,Birkedal,L.:Aneris:关于分布式系统的模块化推理的机械化逻辑-技术附录(2020),URLhttps://iris-project.org/pdfs/2020-esop-aneris-final-附录.pdf
[21] Lamport,L.:证明多进程进程的正确性。IEEE传输。软件工程3(2),125-143(1977),https://doi.org/10.109/TSE.1977.229904 ·Zbl 0349.68006号 ·doi:10.1109/TSE.1977.229904
[22] Lamport,L.:可靠分布式多进程系统的实现。计算机网络2,95-114(1978),https://doi.org/10.1016/0376-5075(78)90045-4 ·doi:10.1016/0376-5075(78)90045-4
[23] Lamport,L.:TLA+中的混合系统。收录于:Grossman,R.L.,Nerode,A.,Ravn,A.P.,Rischel,H.(编辑)Hybrid Systems,《计算机科学讲义》,第736卷,第77-102页,Springer(1992),https://doi.org/10.1007/3-540-57318-6_25 ·doi:10.1007/3-540-57318-6_25
[24] Leino,K.R.M.:Dafny:功能正确性的自动程序验证器。摘自:Clarke,E.M.,Voronkov,A.(eds.)《程序设计、人工智能和推理的逻辑——第16届国际会议》,LPAR-16,塞内加尔达喀尔,2010年4月25日至5月1日,《计算机科学的逻辑笔记》,第6355卷,第348-370页,Springer(2010),https://doi.org/10.1007/978-3-642-17511-4_20 ·Zbl 1253.68095号 ·数字对象标识代码:10.1007/978-3-642-17511-4-20
[25] Lesani,M.,Bell,C.J.,Chlipala,A.:Chapar:经认证的因果一致分布式键值存储。收录于:Bodík,R.,Majumdar,R.(编辑)《第43届ACM SIGPLAN-SIGACT Pro-gramming Languages原则年度研讨会论文集》,2016年POPL,美国佛罗里达州圣彼得堡,2016年1月20日至22日,第357-370页,ACM(2016),https://doi.org/10.1145/2837614.2837622 ·Zbl 1347.68117号 ·doi:10.1145/2837614.2837622
[26] Ley-Wild,R.,Nanevski,A.:粗粒度并发的主观辅助状态。摘自:Giacobazzi,R.,Cousot,R.(eds.)第40届ACM SIGPLAN-SIGACT编程语言原理年会,2013年1月23日至25日,意大利罗马,第561-574页,ACM(2013),https://doi.org/10.1145/2429069.2429134 ·Zbl 1301.68102号 ·doi:10.145/2429069.2429134
[27] Nanevski,A.,Ley-Wild,R.,Sergey,I.,Delbianco,G.A.:为细粒度并发资源通信状态转换系统。摘自:Shao,Z.(编辑)《程序设计语言与系统——第23届欧洲程序设计研讨会》,ESOP 2014,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2014,格勒诺布尔,法国,2014年4月5日至13日,计算机科学论文集,第8410卷,第290-310页,Springer(2014),https://doi.org/10.1007/978-3-642-544833-8_16 ·Zbl 1405.68219号 ·doi:10.1007/978-3-642-54833-8_16
[28] O'Hearn,P.W.:资源、并发和局部推理。西奥。计算。科学。375(1-3)、271-307(2007),https://doi.org/10.1016/j.tcs.2006.12.035 ·Zbl 1111.68023号 ·doi:10.1016/j.tcs.2006.12.035
[29] 普努利:程序的时序逻辑。参加:第18届计算机科学基础年会,美国罗德岛州普罗维登斯,31
[30] 1977年10月至11月1日,第46-57页,IEEE计算机学会(1977),https://doi.org/10.109/SFCS.1977.32 ·doi:10.1109/SFCS.1977.32
[31] Rahli,V.、Guaspari,D.、Bickford,M.、Constable,R.L.:使用EventML对容错系统进行形式化规范、验证和实现。ECEASST 72(2015),https://doi.org/10.14279/tuj.eceasst.72.1013 ·doi:10.14279/tuj.eceasst.72.1013
[32] Rahli,V.、Guaspari,D.、Bickford,M.、Constable,R.L.:EventML:容错状态ma-chine复制系统的规范、验证和实施。科学。计算。程序。148, 26-48 (2017), https://doi.org/10.1016/j.scico.2017.05.009 ·doi:10.1016/j.scico.2017.5.009
[33] Reynolds,J.C.:分离逻辑:共享可变数据结构的逻辑。摘自:第17届IEEE计算机科学逻辑研讨会(LICS 2002),2002年7月22日至25日,丹麦哥本哈根,论文集,第55-74页,IEEE计算机学会(2002),https://doi.org/10.109/LICS.2002.1029817 ·doi:10.1109/LICS.2002.1029817
[34] da Rocha Pinto,P.,Dinsdale-Young,T.,Gardner,P.:塔达:时间和数据抽象逻辑。摘自:Jones,R.E.(编辑)ECOOP 2014-面向对象编程-第28届欧洲会议,2014年7月28日至8月1日,瑞典乌普萨拉。《计算机科学论文集》,第8586卷,第207-231页,Springer(2014),https://doi.org/10.1007/978-3-662-44202-9_9 ·doi:10.1007/978-3662-44202-99
[35] Sergey,I.,Nanevski,A.,Banerjee,A.:细粒度并发程序的机械化验证。摘自:Grove,D.,Blackburn,S.(eds.)《第36届ACM SIGPLAN编程语言设计与实现会议论文集》,美国俄勒冈州波特兰,2015年6月15日至17日,第77-87页,ACM(2015),https://doi.org/10.1145/2737924.2737964 ·doi:10.1145/2737924.2737964
[36] Sergey,I.、Wilcox,J.R.、Tatlock,Z.:分布式协议编程和证明。PACMPL 2(POPL),28:1-28:30(2018),https://doi.org/10.1145/3158116 ·数字对象标识代码:10.1145/3158116
[37] Svendsen,K.,Birkedal,L.:不折不扣的并发抽象谓词。摘自:Shao,Z.(编辑)《程序设计语言与系统——第23届欧洲程序设计研讨会》,ESOP 2014,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2014,格勒诺布尔,法国,2014年4月5日至13日,计算机科学论文集,第8410卷,第149-168页,Springer(2014),https://doi.org/10.1007/978-3-642-544833-8_9 ·Zbl 1405.68092号 ·doi:10.1007/978-3-642-54833-89
[38] Timany,A.,Stefanesco,L.,Krogh-Jespersen,M.,Birkedal,L.:状态的一元封装的逻辑关系:在runST存在下证明上下文等价性。PACMPL 2(pop),64:1-64:28(2018),https://doi.org/10.1145/3158152 ·doi:10.145/3158152
[39] Toninho,B.,Caires,L.,Pfenning,F.:通过直觉线性类型理论的依赖会话类型。收录于:Schneider-Kamp,P.,Hanus,M.(编辑)《第13届国际ACM SIGPLAN声明性编程原则与实践会议论文集》,2011年7月20日至22日,丹麦欧登塞,第161-172页,ACM(2011),https://doi.org/10.1145/2003476.2003499 ·doi:10.1145/2003476.2003499
[40] Turon,A.,Dreyer,D.,Birkedal,L.:在高阶并发逻辑中统一求精和老式推理。收录人:Morrisett,G.,Uustalu,T.(eds.)ACM SIGPLAN功能编程国际会议,ICFP’13,美国马萨诸塞州波士顿,2013年9月25日至27日,第377-390页,ACM(2013),https://doi.org/10.1145/2500365.2500600 ·Zbl 1323.68386号 ·doi:10.1145/2500365.2500600
[41] Wilcox,J.R.,Woos,D.,Panchekha,P.,Tatlock,Z.,Wang,X.,Ernst,M.D.,Anderson,T.E.:Verdi:实现和正式验证分布式系统的框架。摘自:Grove,D.,Blackburn,S.(eds.)《第36届ACM SIGPLAN编程语言设计与实现会议论文集》,美国俄勒冈州波特兰,2015年6月15日至17日,第357-368页,ACM(2015),https://doi.org/10.1145/2737924.2737958 ·doi:10.1145/2737924.2737958
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。