文件Open Access徽标

带方差的标称子类型的可满足性

作者 亚历山大·米索尼日尼克, 德米特里·莫德维诺夫



PDF格式
缩略图PDF

文件

LIPIcs公司。ECOOP.2019.7.pdf
  • 文件大小:0.56 MB
  • 20页

文件标识符

作者详细信息

亚历山大·米索尼日尼克
  • 俄罗斯圣彼得堡州立大学JetBrains研究所
德米特里·莫德维诺夫
  • 俄罗斯圣彼得堡州立大学JetBrains研究所

鸣谢

我们感谢索菲亚·德罗索波卢(Sophia Drossopoulou)、德米特里·博利切夫(Dmitry Boulytchev)和匿名审稿人的洞察力和评论,他们的见解和评论极大地改进了手稿。

引用为获取BibTex

Aleksandr Misonizhnik和Dmitry Mordvinov。带方差的标称子类型的可满足性。第33届欧洲面向对象编程会议(ECOOP 2019)。莱布尼茨国际信息学论文集(LIPIcs),第134卷,第7:1-7:20页,达格斯图尔-莱布尼兹-泽特鲁姆信息学研究所(2019)
https://doi.org/10.4230/LIPIcs.ECOOP.2019.7

摘要

Kennedy和Pierce对Java、C#和Scala等面向对象编程语言中的子类型关系的核心——具有方差的标称类型系统进行了广泛的研究:他们证明了基本类型之间的子类型的不可判定性,并提出了此类类型系统的可判定片段。然而,面向对象代码的模块化验证可能需要对开放类型的关系进行推理。本文形式化并研究了带方差的标称子类型的可满足性问题。我们在一阶逻辑的背景下定义这个问题。我们证明,虽然带方差的非泛地标称子类型是可判定的,但其可满足性问题是不可判定的。我们的证明使用了类型系统的一个非常小的片段。事实上,我们证明了即使对于只有nullary和unary协变和不变类型构造器的非泛类表,正子类型原子的无量词连词的可满足性也是不可判定的。我们详细讨论了这一结果,并展示了一个可判定片段和一个获得其他可判定片段的方案。

主题分类

ACM科目分类
  • 计算理论→类型理论
  • 计算理论→逻辑和验证
  • 软件及其工程→面向对象语言
  • 软件及其工程→自动静态分析
  • 软件及其工程→多态
  • 软件及其工程→继承
关键词
  • 标称类型系统
  • 结构子类型
  • 一阶逻辑
  • 可判定性
  • 软件验证

韵律学

工具书类

  1. Mike Barnett、K Rustan M Leino和Wolfram Schulte。规范#编程系统:概述。在安全、可靠和可互操作智能设备的构造和分析国际研讨会上,第49-69页。斯普林格,2004年。谷歌学者
  2. 克拉克·巴雷特和切萨雷·蒂内利。可满足性模理论。《模型检查手册》,第305-343页。施普林格,2018年。谷歌学者
  3. 莱昂纳多·门登萨·德·莫拉和尼古拉·比约纳。满意度模理论:介绍与应用。Commun公司。ACM,54(9):69-772011年。谷歌学者
  4. ECMA ECMA公司。335:公共语言基础设施(CLI),2005年。谷歌学者
  5. 伯拉克·埃米尔、安德鲁·肯尼迪、克劳迪奥·拉索和大川·余。C#泛型的方差和广义约束。在ECOOP中,《计算机科学讲义》第4067卷,第279-303页。斯普林格,2006年。谷歌学者
  6. 亚历山大·弗雷。多项式空间中满足子类型不等式。在SAS中,《计算机科学讲义》第1302卷,第265-277页。施普林格,1997年。谷歌学者
  7. 拉杜·格里戈尔。Java泛型是图灵完备的。在POPL中,第73-85页。ACM,2017年。谷歌学者
  8. 安德鲁·肯尼迪和本杰明·皮尔斯。关于带方差的标称子类型的可判定性,2007年。谷歌学者
  9. Viktor Kuncak和Martin C.Rinard。非递归类型的结构子类型是可决定的。在LICS中,第96-107页。IEEE计算机学会,2003年。谷歌学者
  10. 马克·利利布里奇(Mark Lillibridge)。半透明和:高阶模块系统的基础。1997年,卡内基·梅隆大学博士论文。谷歌学者
  11. Joachim Niehren、Tim Priesnitz和Zhendong Su.偏序集上子类型可满足性的复杂性。在ESOP中,《计算机科学讲义》第3444卷,第357-373页。斯普林格,2005年。谷歌学者
  12. 马丁·奥德斯基。2016年,将DOT扩展到Scala-soundness。谷歌学者
  13. 埃米尔·L·波斯特。递归无法解决的问题的变体。美国数学学会公报,52(4):264-2681946。谷歌学者
  14. Vaughan R.Pratt和Jerzy Tiuryn。偏序集中不等式的可满足性。芬丹。通知。,28(1-2):165-182, 1996.谷歌学者
  15. Andreas Rossberg,《OCaml类型检查的不可解释性》,1999年。谷歌学者
  16. Elena Sherman、Brady J.Garvin和Matthew B.Dwyer。路径敏感分析中基于类型的部分顺序约束的确定。ACM事务处理。柔和。工程方法。,24(3):15:1-15:33, 2015.谷歌学者
  17. 苏振东(Zhendong Su)、亚历山大·艾肯(Alexander Aiken)、约阿希姆·尼伦(Joachim Niehren)、蒂姆·普列斯尼茨(Tim Priesnitz)和拉尔夫·特雷恩(Ralf Treinen)。子类型约束的一阶理论。在POPL中,第203-216页。ACM,2002年。谷歌学者
  18. 托德·维尔德胡赞(Todd L.Veldhuizen)。C++模板是图灵完成的,2003年。谷歌学者
  19. 米尔科·维罗利。关于参数类型的递归生成。技术报告,技术报告DEIS-LIA-00-002,博洛尼亚大学,2000年。谷歌学者
问题/备注/反馈
X(X)

Dagstuhl出版社反馈


感谢您的反馈!

已提交反馈

无法发送消息

请稍后再试或发送电子邮件