paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Embedding Quantum Program Verification into Dafny

将量子程序验证嵌入 Dafny
OOPSLA 9(OOPSLA2)2025匹配度 2/10 · 该论文属于量子程序形式化验证,将验证编译到 Dafny,虽涉及程序验证但与用户核心方向(LLM/Agent 与静态分析/形式化验证的交叉、浮点程序分析、贝叶斯程序分析)无直接关联。它未使用 LLM/Agent,也不是面向 ML/Agentic 程序的静态分析。引用 2 inbox
Feifei Cheng, Sushen Vangeepuram, Henry Allard, Seyed Mohammad Reza Jafari, Alex Potanin, Liyi Li
crossref: 2026-09-10

AI 速览

一句话:提出 Qafny c,将量子程序验证编译到经典验证器 Dafny,并验证 37 个量子程序。

量子程序因固有的概率性与叠加并行性而难以验证,现有量子程序验证仍处于早期阶段。本文提出 Qafny c,将量子程序验证编译到成熟的经典程序验证器 Dafny 中,以实现量子程序的形式化验证。其核心洞察是将量子程序验证与执行分离:先借助经典验证器的能力确保正确性,再将已认证的量子程序编译为可执行电路。作者使用 Qafny c 成功验证了 37 个不同的量子程序,据称这是目前最广泛的经形式化验证的量子程序集合。

问题
量子程序固有的概率性和量子叠加并行性使其难以进行形式化验证,现有量子程序验证方法尚不成熟。
方法
提出 Qafny c,将量子程序验证编译或归约到经典程序验证器 Dafny,在验证通过后再将认证的量子程序编译为可执行量子电路。
评估
使用 Qafny c 成功验证了 37 个不同的量子程序,并称这是目前最广泛的经形式化验证的量子程序集合。
原文摘要(Abstract)

Despite recent development of quantum program verification, it is still in its early stage, where many quantum programs are hard to verify due to their inherent probabilistic nature and parallelism in quantum superposition. We propose Qafny c , a system that compiles quantum program verification into a well-established classical program verifier Dafny, enabling the formal verification of quantum programs. The key insight behind Qafny c is the separation of quantum program verification from its execution, leveraging the strength of classical verifiers to ensure correctness before compiling certified quantum programs into executable circuits. Using Qafny c , we have successfully verified 37 diverse quantum programs by compiling their verification into Dafny. To the best of our knowledge, this is the most extensive formally verified set of quantum programs.

链接与引用

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

BibTeX
@article{paperbot3011,
  title = {Embedding Quantum Program Verification into Dafny},
  author = {Feifei Cheng and Sushen Vangeepuram and Henry Allard and Seyed Mohammad Reza Jafari and Alex Potanin and Liyi Li},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763157}
}