paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Cogent: uniqueness types and certifying compilation

Cogent:唯一性类型与认证编译
JFP vol.312021匹配度 2/10 · 该论文是类型系统与认证编译的 PL/形式化验证工作,与用户当前核心关注的 PL-AI 交叉(Agentic 程序静态分析、LLM 改进静态分析/形式化验证)、浮点程序分析、贝叶斯程序分析均无直接关联;仅形式上属于形式化验证与编译器正确性背景。引用 19 inbox
LIAM O’CONNOR, ZILIN CHEN, CHRISTINE RIZKALLAH, VINCENT JACKSON, SIDNEY AMANI, GERWIN KLEIN, TOBY MURRAY, THOMAS SEWELL, GABRIELE KELLER
crossref: 2026-09-10

AI 速览

一句话:提出函数式语言 Cogent,其唯一性类型系统无需运行时或 GC 即可保证内存安全,并通过双语义与精化定理实现生成 C 代码的认证编译。

本文提出一个旨在显著降低底层操作系统组件函数正确性证明成本的框架。其核心是一种新的函数式语言 Cogent,其唯一性类型系统无需可信运行时或垃圾回收即可保证内存安全。该语言具有两套语义:面向高效 C 代码生成的命令式语义,以及支持等式推理与高层正确性验证的纯函数式语义。连接两者的精化定理使编译器能够通过翻译确认生成证明,认证生成的 C 代码相对于 Cogent 源程序语义的正确性。最后通过两个文件系统实现展示了该框架在实现与验证方面的有效性。

问题
如何显著降低底层操作系统组件函数正确性的证明成本,同时避免依赖可信运行时或垃圾回收来保证内存安全。
方法
设计新函数式语言 Cogent,其唯一性类型系统保证内存安全;赋予语言命令式(用于高效 C 代码生成)和纯函数式(用于等式推理与高层正确性验证)两套语义;通过精化定理连接两套语义,并利用翻译确认使编译器生成证明,认证生成的 C 代码相对于源程序语义的正确性。
评估
通过两个文件系统实现展示了该框架在实现与验证方面的有效性。
原文摘要(Abstract)

Abstract This paper presents a framework aimed at significantly reducing the cost of proving functional correctness for low-level operating systems components. The framework is designed around a new functional programming language, Cogent. A central aspect of the language is its uniqueness type system, which eliminates the need for a trusted runtime or garbage collector while still guaranteeing memory safety, a crucial property for safety and security. Moreover, it allows us to assign two semantics to the language: The first semantics is imperative, suitable for efficient C code generation, and the second is purely functional, providing a user-friendly interface for equational reasoning and verification of higher-level correctness properties. The refinement theorem connecting the two semantics allows the compiler to produce a proof via translation validation certifying the correctness of the generated C code with respect to the semantics of the Cogent source program. We have demonstrated the effectiveness of our framework for implementation and for verification through two file system implementations.

链接与引用

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

BibTeX
@article{paperbot1247,
  title = {Cogent: uniqueness types and certifying compilation},
  author = {LIAM O’CONNOR and ZILIN CHEN and CHRISTINE RIZKALLAH and VINCENT JACKSON and SIDNEY AMANI and GERWIN KLEIN and TOBY MURRAY and THOMAS SEWELL and GABRIELE KELLER},
  journal = {Journal of Functional Programming},
  volume = {31},
  year = {2021},
  doi = {10.1017/s095679682100023x}
}