paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Scala step-by-step: soundness for DOT with step-indexed logical relations in Iris

Scala 逐步推进:在 Iris 中用步进索引逻辑关系证明 DOT 的可靠性
ICFP 4(ICFP)2020匹配度 1/10 · 该论文是 Scala DOT 类型系统的形式语义与 Coq/Iris 机械化可靠性证明,属于纯 PL 形式化方法,未涉及 LLM/Agent、机器学习系统静态分析、浮点程序分析或贝叶斯程序分析等用户核心关注方向,仅与 PL 形式化验证背景有微弱关联。引用 22 inbox
Paolo G. Giarrusso, Léo Stefanesco, Amin Timany, Lars Birkedal, Robbert Krebbers
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 gDOT 演算,并用 Iris 中的步进索引逻辑关系模型在 Coq 中机器化证明了其可靠性。

论文关注 Scala 核心类型系统 DOT(依赖对象类型)的元理论难以扩展、若干重要特性的可靠性长期悬而未决的问题。作者采用语义优先的路线,为 DOT 的新变体 guarded DOT(gDOT)建立了逻辑关系模型,借助 Iris 框架提供的抽象步进索引(step-indexing)刻画 gDOT 中的多种递归形式。他们用该模型证明 gDOT 具备所期望的数据抽象性质,并给出先前 DOT 版本无法处理的 Scala 实例,以说明 gDOT 的表达力。gDOT 的类型系统、语义模型、可靠性证明以及论文中的全部示例均已在 Coq 中机器化验证。

问题
DOT 是 Scala 的核心类型系统,但结合子类型与依赖类型后其元理论难以扩展,Scala 若干重要特性的可靠性在理论与实践上仍是未解问题。
方法
采用语义优先的方法,在 Iris 框架的抽象步进索引支持下为 gDOT 建立逻辑关系语义模型,并据此证明其可靠性。
评估
在 Coq 中机器化 gDOT 的类型系统、语义模型、可靠性证明与全部示例,并通过此前 DOT 无法处理的 Scala 例子展示其表达力。
原文摘要(Abstract)

The metatheory of Scala’s core type system—the Dependent Object Types (DOT) calculus—is hard to extend, like the metatheory of other type systems combining subtyping and dependent types. Soundness of important Scala features therefore remains an open problem in theory and in practice. To address some of these problems, we use a semantics-first approach to develop a logical relations model for a new version of DOT, called guarded DOT (gDOT) . Our logical relations model makes use of an abstract form of step-indexing , as supported by the Iris framework, to model various forms of recursion in gDOT. To demonstrate the expressiveness of gDOT, we show that it handles Scala examples that could not be handled by previous versions of DOT, and prove using our logical relations model that gDOT provides the desired data abstraction. The gDOT type system, its semantic model, its soundness proofs, and all examples in the paper have been mechanized in Coq.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{GiarrussoSTBK20,
  title = {Scala step-by-step: soundness for DOT with step-indexed logical relations in Iris},
  author = {Paolo G. Giarrusso and Léo Stefanesco and Amin Timany and Lars Birkedal and Robbert Krebbers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  year = {2020},
  doi = {10.1145/3408996}
}