跳到主要内容
研究论文
开放式访问

分离度:一种灵活的安全并发系统

出版:2024年4月29日出版历史
跳过抽象节

摘要

数据竞争一直是并发编程中的一个臭名昭著的问题。它们很难检测到,并导致非确定性行为。人们对静态保证数据竞争自由的类型系统非常感兴趣。在这方面已经取得了重大进展,这些类型的系统越来越实用。然而,它们在主流编程语言中的采用仍然有限,这主要是因为它们严格的别名预防原则阻碍了现有编程模式的使用。这阻碍了现有代码库的迁移。为了解决这个问题,我们提出了捕获分离演算(System CSC),这是一种演算,它对fork-join并行进行建模,并在与既定编程模式兼容的同时静态地防止数据争用。它遵循一个需要时控制哲学:默认情况下,允许使用别名,但会在类型系统中进行跟踪。当数据竞争成为一个问题时,被跟踪的别名会受到控制,以防止出现数据追踪模式。我们研究了系统CSC的形式属性。类型稳健性是通过标准进程和保存定理来证明的。此外,通过证明一个好类型程序的约简是合流的,我们形式化地验证了SystemCSC的数据竞争自由属性。

跳过补充材料部分

补充材料

工具书类

  1. 纳达·阿明(Nada Amin)、塞缪尔·格吕特(Samuel Grütter)、马丁·奥德斯基(Martin Odersky)、蒂亚克·隆普夫(Tiark Rompf)和桑德罗·斯塔基(Sandro Stucki)。2016.依赖对象类型的本质。在一份可以改变世界的成功列表中。谷歌学者谷歌学者
  2. 鲍玉燕(Yuyan Bao)、魏冠南(Guannan Wei)、奥利弗·布拉切瓦克(Oliver Bracevac)、姜宇轩(Yuxuan Jiang)、何启阳(Qiyang He)和蒂亚克·隆普夫。2021.可达性类型:跟踪高阶函数程序中的混叠和分离。美国计算机学会程序设计语言论文集,5(2021),1-32。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 埃里克·巴伦德森(Erik Barendsen)和贾克·斯梅特瑟(Sjaak Smetsers)。1996.具有图形重写语义的函数语言的唯一性类型。计算机科学中的数学结构,6(1996),579–612。谷歌学者谷歌学者交叉引用交叉引用
  4. Chandrasekhar Boyapati和Martin C.Rinard。2001.无种族Java程序的参数化类型系统。在OOPSLA中。56–69.谷歌学者谷歌学者
  5. 约翰·唐博伊兰(John Tang Boyland)。2001.别名掩埋:没有破坏性读取的唯一变量。《软件:实践与经验》,31(2001年)。谷歌学者谷歌学者
  6. 约翰·唐博伊兰(John Tang Boyland)。2010.具有嵌套的部分权限语义。ACM事务处理。程序。语言系统。,32 (2010), 22:1–22:33.谷歌学者谷歌学者数字图书馆数字图书馆
  7. Jonathan Immanuel Brachthäuser、Philipp Schuster和Klaus Ostermann。2020年。作为功能的效果:效果处理程序和轻量级效果多态性。《美国计算机学会程序设计语言会议录》,4(2020),1-30。谷歌学者谷歌学者数字图书馆数字图书馆
  8. Elias Castegren和Tobias Wrigstad。2016.并发控制的参考功能。在欧洲面向对象编程会议上。谷歌学者谷歌学者
  9. Alonzo Church和J.Barkley Rosser。1936.转换的一些特性。事务处理。阿默尔。数学。《社会学杂志》,39(1936),472-482。谷歌学者谷歌学者交叉引用交叉引用
  10. Dave Clarke和Tobias Wrigstad。2003.外部独特性足够独特。在欧洲面向对象编程会议上。谷歌学者谷歌学者
  11. 大卫·G·克拉克、约翰·波特和詹姆斯·诺布尔。1998年。灵活别名保护的所有权类型。在OOPSLA中。48–64.谷歌学者谷歌学者
  12. Sylvan Clebsch、Sophia Drossopoulou、Sebastian Blessing和Andy McNeil。2015.拒绝为安全快速的参与者提供功能。第五届基于行动者、代理人和分散控制的编程国际研讨会论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  13. 卡尔·克莱里(Karl Crary)、大卫·沃克(David Walker)和格雷格·莫里塞特(Greg Morrisett)。1999.在能力计算中的类型化内存管理。在ACM-SIGACT编程语言原理研讨会上。谷歌学者谷歌学者数字图书馆数字图书馆
  14. Manuel Fähndrich和Robert A Deline。2002.采用和重点:命令式编程的实用线性类型。在ACM-SIGPLAN编程语言设计与实现研讨会上。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 卡斯拉·费尔多西。2023.先进型系统的可用性:以锈蚀为例的研究。ArXiv,abs/2301.02308(2023)。谷歌学者谷歌学者
  16. 伊恩·古德费罗(Ian Goodfellow)、约舒亚·本吉奥(Yoshua Bengio)和亚伦·库维尔(Aaron Courville)。2016年,深度学习。麻省理工学院出版社。编号:0262035618谷歌学者谷歌学者
  17. 科林·S·戈登(Colin S.Gordon)、马修·J·帕金森(Matthew J.Parkinson)、贾里德·帕森斯(Jared Parsons)、阿列克斯·布罗姆菲尔德(Aleks Bromfield)和乔·达菲。2012.安全并行的唯一性和参考不变性。在OOPSLA中。21–40.谷歌学者谷歌学者
  18. J.霍格。1991.岛屿:面向对象语言中的别名保护。在面向对象编程系统、语言和应用会议上。谷歌学者谷歌学者数字图书馆数字图书馆
  19. 史蒂夫·克拉布尼克和卡罗尔·尼科尔斯。2018年,Rust编程语言。美国No Starch出版社编号:1593278284谷歌学者谷歌学者
  20. Daan Leijen。2017.行型代数效应的类型定向编译。第44届ACM SIGPLAN编程语言原理研讨会论文集。谷歌学者谷歌学者数字图书馆数字图书馆
  21. Amit Levy、Michael P.Andersen、Bradford Campbell、David Culler、Prabal Dutta、Branden Ghena、Philip Levis和Pat Pannuto。2015.所有权即盗窃:在Rust中构建嵌入式操作系统的经验。第八届编程语言和操作系统研讨会论文集。加利福尼亚州蒙特利市ACM。21–26.编号:978-1-4503-3942-1https://doi.org/10.1145/2818302.2818306谷歌学者谷歌学者数字图书馆数字图书馆
  22. 丹尼尔·马歇尔(Daniel Marshall)、迈克尔·沃尔默(Michael Vollmer)和多米尼克·A·乌节(Dominic A.Orchard)。2022年,《线性与唯一性:合作伙伴关系》。在欧洲编程研讨会上。谷歌学者谷歌学者
  23. 梅·米兰诺(Mae Milano)、约书亚·图尔科蒂(Joshua Turcotti)和安德鲁·迈尔斯(Andrew C.Myers)。2022.用于无畏并发的灵活类型系统。第43届ACM SIGPLAN编程语言设计与实现国际会议论文集。谷歌学者谷歌学者
  24. 马克·塞缪尔·米勒。2006.稳健组合:实现访问控制和并发控制的统一方法。博士论文。美国,邮编:aai324526谷歌学者谷歌学者
  25. 詹姆斯·诺布尔、朱利安·麦凯和托比亚斯·瑞格斯塔德。2022.地方连锁店的生锈环节。ArXiv,abs/2205.00795(2022)。谷歌学者谷歌学者
  26. 马丁·奥德斯基。1992年,线性类型观察员。在欧洲编程研讨会上。谷歌学者谷歌学者
  27. 马丁·奥德斯基(Martin Odersky)、Aleksander Boruch-Gruszecki、爱德华·李(Edward Lee)、乔纳森·伊曼纽尔·布拉瑟斯(Jonathan Immanuel Brachthäuser)和昂德雷·洛塔克(Ondrej Lhotak)。2022.多态效应的范围能力。ArXiv,abs/2207.03402(2022)。谷歌学者谷歌学者
  28. Peter W.O'Hearn、John Power、Robert D.Tennent和Makoto Takeyama。1999.重新审视干扰的句法控制。在编程语义的数学基础中。谷歌学者谷歌学者
  29. 迪米特里·拉科登(Dimitri Racordon)、丹尼斯·沙巴林(Denys Shabalin)、丹尼尔·郑(Daniel Zheng)、戴夫·亚伯拉罕斯(Dave Abrahams)和布伦南·塞塔(Brennan Saeta)。2022.可变值语义的实施策略。对象技术杂志。,21 (2022), 2:1–11.谷歌学者谷歌学者交叉引用交叉引用
  30. 玛丽安娜·拉波波特(Marianna Rapoport)和昂德雷·洛塔克(Ondrej Lhoták)。2019.通往DOT的道路:将完全依赖路径的类型形式化。《美国计算机学会程序设计语言会议录》,3(2019),1-29。谷歌学者谷歌学者数字图书馆数字图书馆
  31. 约翰·雷诺兹(John C.Reynolds)。1978.干扰的句法控制。第五届ACM SIGACT-SIGPLAN编程语言原理研讨会会议记录。谷歌学者谷歌学者数字图书馆数字图书馆
  32. 斯卡拉。2022.Scala 3编译器,也称为Dotty。网址:https://dotty.epfl.ch谷歌学者谷歌学者
  33. 马可·塞韦托(Marco Servetto)、大卫·皮尔斯(David J.Pearce)、林赛·格罗夫斯(Lindsay J.Groves)和亚历克斯·波塔宁(Alex Potanin)。2013.任意对象图上安全并行的气球类型。谷歌学者谷歌学者
  34. 菲利普·沃德勒。1990年。线型可以改变世界!。在编程概念和方法中。谷歌学者谷歌学者
  35. 魏冠南(Guannan Wei)、奥利弗·布拉切瓦克(Oliver Bracevac)、贾松林(Songlin Jia)、鲍玉燕(Yuyan Bao)和蒂亚克·隆普夫(Tiark Rompf)。2023.多态可达性类型:高阶通用程序中的跟踪新鲜度、混叠和分离。ArXiv,abs/2307.13844(2023)。谷歌学者谷歌学者
  36. 亚伦·韦斯(Aaron Weiss)、丹尼尔·帕特森(Daniel Patterson)、尼古拉斯·马萨基斯(Nicholas D.Matsakis)和阿马尔·艾哈迈德(Amal J.Ahmed)。2019.氧化物:锈蚀的本质。ArXiv,abs/1903.00982(2019)。谷歌学者谷歌学者
  37. 安德鲁·赖特(Andrew K.Wright)和马蒂亚斯·费尔莱森(Matthias Felleisen)。1994年,《类型发音的句法方法》。信息计算。,115(1994),38-94。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 分离度:一种灵活的安全并发系统

      建议

      评论

      登录选项

      请检查您是否可以通过登录凭据或您的机构访问此文章以获得完全访问权限。

      登录

      完全访问权限

      • 发布于

        封面图片美国计算机学会编程语言会议录
        美国计算机学会程序设计语言会议录 第8卷,发行OOPSLA1
        2024年4月
        1492页
        EISSN公司:2475-1421
        内政部:10.1145/3554316
        期刊目录

        版权所有©2024所有者/作者

        本作品根据Creative Commons Attribution International 4.0许可证授权。

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        • 出版:2024年4月29日
        发布于太平洋石油公司第8卷,发行OOPSLA1

        权限

        请求有关此文章的权限。

        请求权限

        检查更新

        限定符

        • 研究论文
      • 文章指标

        • 下载次数(过去12个月)45
        • 下载次数(最近6周)43

        其他指标

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用eReader联机查看。

      电子阅读器