paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A conceptual framework for safe object initialization: a principled and mechanized soundness proof of the Celsius model

安全对象初始化的概念框架:Celsius 模型的原则化与机器化可靠性证明
OOPSLA 6(OOPSLA2)2022匹配度 2/10 · 该论文属于面向对象语言对象初始化的类型系统设计与 Coq 机器化证明,属于经典 PL 语言设计与证明工程,与用户关注的 PL↔AI(Agentic 程序静态分析、LLM 改进静态分析/形式化验证)、浮点程序分析、贝叶斯程序分析均无交叉,也未涉及 LLM/Agent 或工业静态分析工具落地。引用 2 inbox
Clément Blaudeau, Fengyun Liu
crossref: 2026-09-10

AI 速览

一句话:提出安全对象初始化的四条核心原则,并以最小演算 Celsius 及 Coq 机器化证明实现兼具表达力与简洁性的初始化系统。

对象在初始化过程中可能尚未满足类规约,字段未初始化,若此时调用方法或让对象逸出构造函数,易导致运行时崩溃;现代编译器大多无法静态检测此类错误。面向对象语言的其他特性已有深入研究,但对象初始化仍缺乏简单、系统且原则化的处理。本文在已有工作洞见基础上,提炼出安全初始化的四条核心原则:单调性、权限、可栈化与可作用域化,并以最小演算 Celsius 形式化这些原则。作者证明该原则体系可导出一个实用的初始化系统,在表达力与简洁性之间取得平衡;整个元理论均使用 Coq 证明助手机器化验证。该框架为语言设计者在面对类似安全挑战时提供了原则化基础。

问题
对象部分初始化时调用方法或逸出构造函数可能使用未初始化字段,导致运行时崩溃,而多数现代编译器不能静态检测这类错误。
方法
提炼出单调性、权限、可栈化与可作用域化四条安全初始化核心原则,并设计最小演算 Celsius 来形式化该初始化系统。
评估
使用 Coq 证明助手机器化验证整个元理论,包括可靠性证明,并展示该原则化系统在表达力与简洁性之间的平衡。
原文摘要(Abstract)

An object under initialization does not fulfill its class specification yet and can be unsafe to use as it may have uninitialized fields. It can sometimes be useful to call methods on such a partially initialized object in order to compute a complex initial value, or to let the object escape its constructor in order to create mutually recursive objects. However, inadvertent usage of uninitialized fields can lead to run-time crashes. Those subtle programming errors are not statically detected by most modern compilers. While many other features of object-oriented programming languages have been thoroughly studied over the years, object initialization lacks a simple, systematic, and principled treatment. Building on the insights of previous work, we identify a set of four core principles for safe initialization: monotonicity, authority, stackability, and scopability. We capture the essence of the principles with a minimal calculus, Celsius, and show that the principles give rise to a practical initialization system that strikes a balance between expressiveness and simplicity. The meta-theory of the system is entirely mechanized using the Coq proof assistant. We believe that our approach based on well-identified core principles sheds new light on the underlying mechanisms ensuring safety and could serve as a basis for language design when faced with similar challenges.

链接与引用

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

BibTeX
@article{paperbot1466,
  title = {A conceptual framework for safe object initialization: a principled and mechanized soundness proof of the Celsius model},
  author = {Clément Blaudeau and Fengyun Liu},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {OOPSLA2},
  year = {2022},
  doi = {10.1145/3563314}
}