Skip to main content
CenXiv.org
此网站处于试运行阶段,支持我们!
我们衷心感谢所有贡献者的支持。
贡献
赞助
cenxiv logo > cs > arXiv:2501.05111

帮助 | 高级搜索

计算机科学 > 编程语言

arXiv:2501.05111 (cs)
[提交于 2025年1月9日 ]

标题: 为Dafny烘焙:Dafny的CakeML后端

标题: Baking for Dafny: A CakeML Backend for Dafny

Authors:Daniel Nezamabadi, Magnus Myreen
摘要: Dafny是一种注重验证的编程语言,允许开发人员正式指定他们的程序并证明其正确性。 目前,Dafny程序通过两个步骤进行编译:首先,后端将输入程序转换为像C#或Rust这样的高级目标语言。 其次,转换后的程序使用目标语言的工具链进行编译。 最近,Dafny添加了一个中间表示(IR),作为新后端的输入。 在撰写本文时,这些步骤均未经过验证,导致后端和目标语言的工具链都成为Dafny的信任计算基础(TCB)的一部分。 为了减少Dafny的TCB,我们开始开发一个新后端,该后端将Dafny翻译为CakeML,这是一种经过验证的、自举的Standard ML子集,在交互式定理证明器HOL4中实现。 我们还开始为Dafny IR定义功能性的大步语义,以证明后端的正确性。
摘要: Dafny is a verification-aware programming language that allows developers to formally specify their programs and prove them correct. Currently, a Dafny program is compiled in two steps: First, a backend translates the input program to a high-level target language like C# or Rust. Second, the translated program is compiled using the target language's toolchain. Recently, an intermediate representation (IR) has been added to Dafny that serves as input to new backends. At the time of writing, none of these steps are verified, resulting in both the backend and the target language's toolchain being part of Dafny's trusted computing base (TCB). To reduce Dafny's TCB, we started developing a new backend that translates Dafny to CakeML, a verified, bootstrapped subset of Standard ML, in the interactive theorem prover HOL4. We also started to define functional big-step semantics for the Dafny IR to prove correctness of the backend.
评论: 4页,7图。被接受为第52届ACM SIGPLAN编程语言原理研讨会(POPL 2025)的Dafny工作坊论文。代码请见 https://github.com/CakeML/cakeml/tree/1fc6f802c664dfdaa2bbfb1e5e4a2051bcf68756/compiler/dafny
主题: 编程语言 (cs.PL) ; 计算机科学中的逻辑 (cs.LO)
ACM 类: D.2.4; D.3.1; D.3.4
引用方式: arXiv:2501.05111 [cs.PL]
  (或者 arXiv:2501.05111v1 [cs.PL] 对于此版本)
  https://doi.org/10.48550/arXiv.2501.05111
通过 DataCite 发表的 arXiv DOI

提交历史

来自: Daniel Nezamabadi [查看电子邮件]
[v1] 星期四, 2025 年 1 月 9 日 09:59:22 UTC (36 KB)
全文链接:

获取论文:

    查看标题为《》的 PDF
  • 查看中文 PDF
  • 查看 PDF
  • HTML(实验性)
  • TeX 源代码
  • 其他格式
许可图标 查看许可
当前浏览上下文:
cs.PL
< 上一篇   |   下一篇 >
新的 | 最近的 | 2025-01
切换浏览方式为:
cs
cs.LO

参考文献与引用

  • NASA ADS
  • 谷歌学术搜索
  • 语义学者
a 导出 BibTeX 引用 加载中...

BibTeX 格式的引用

×
数据由提供:

收藏

BibSonomy logo Reddit logo

文献和引用工具

文献资源探索 (什么是资源探索?)
连接的论文 (什么是连接的论文?)
Litmaps (什么是 Litmaps?)
scite 智能引用 (什么是智能引用?)

与本文相关的代码,数据和媒体

alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)

演示

复制 (什么是复制?)
Hugging Face Spaces (什么是 Spaces?)
TXYZ.AI (什么是 TXYZ.AI?)

推荐器和搜索工具

影响之花 (什么是影响之花?)
核心推荐器 (什么是核心?)
IArxiv 推荐器 (什么是 IArxiv?)
  • 作者
  • 地点
  • 机构
  • 主题

arXivLabs:与社区合作伙伴的实验项目

arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。

与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。

有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.

这篇论文的哪些作者是支持者? | 禁用 MathJax (什么是 MathJax?)
  • 关于
  • 帮助
  • contact arXivClick here to contact arXiv 联系
  • 订阅 arXiv 邮件列表点击这里订阅 订阅
  • 版权
  • 隐私政策
  • 网络无障碍帮助
  • arXiv 运营状态
    通过...获取状态通知 email 或者 slack

京ICP备2025123034号