paperbot · PL 论文追踪

全部论文 待读 收藏

P2 piCoq: parallel regression proving for large-scale verification projects

piCoq:面向大规模验证项目的并行回归证明
ISSTA Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis2018匹配度 3/10 · 论文关注 Coq 大规模验证项目中的并行证明检查与回归证明选择,属于形式化验证与证明工程的基础设施优化,与用户画像中的浮点程序分析、贝叶斯程序分析、LLM/Agent 辅助静态分析或形式化验证等核心方向没有直接交叉。引用 5 inbox
Karl Palmskog, Ahmet Celik, Milos Gligoric
crossref: 2026-09-12

AI 速览

一句话:提出融合并行证明检查与回归选择的技术及工具 piCoq,显著加速 Coq 大规模验证项目的证明检查。

大规模 Coq 验证项目在每个修订后都需检查大量证明。已有工作可做文件级粗粒度并行,或利用 Coq 等 LCF 系证明助手的证明级细粒度并行,但未与只检查受变更影响证明的回归选择结合。本文提出融合并行证明检查与回归选择的技术,并实现 piCoq:它跟踪文件、定义与引理依赖,针对两个修订间的变更并行检查受影响的文件或证明,支持本地和持续集成。作者在多个大型开源项目的多轮修订上测量检查时间,发现证明级并行加选择显著更快:4 路并行比从头顺序检查最高快 28.6 倍,比带选择的顺序检查最高快 2.8 倍。

问题
大规模证明助手项目在每次修订后需重复检查大量证明,现有文件级并行或证明级并行未与仅检查受影响证明的回归选择技术结合。
方法
跟踪文件、定义与引理间的依赖,将证明级并行检查与回归证明选择结合,仅对两个项目修订之间受变更影响的部分进行并行检查,并在工具 piCoq 中实现。
评估
在多个大型开源 Coq 项目的多轮修订上测量证明检查时间,并与从头顺序检查和带证明选择的顺序检查比较。
原文摘要(Abstract)

Large-scale verification projects using proof assistants typically contain many proofs that must be checked at each new project revision. While proof checking can sometimes be parallelized at the coarse-grained file level to save time, recent changes in some proof assistant in the LCF family, such as Coq, enable fine-grained parallelism at the level of proofs. However, these parallel techniques are not currently integrated with regression proof selection, a technique that checks only the subset of proofs affected by a change. We present techniques that blend the power of parallel proof checking and selection to speed up regression proving in verification projects, suitable for use both on users' own machines and in workflows involving continuous integration services. We implemented the techniques in a tool, piCoq, which supports Coq projects. piCoq can track dependencies between files, definitions, and lemmas and perform parallel checking of only those files or proofs affected by changes between two project revisions. We applied piCoq to perform regression proving over many revisions of several large open source projects and measured the proof checking time. While gains from using proof-level parallelism and file selection can be considerable, our results indicate that proof-level parallelism and proof selection is consistently much faster than both sequential checking from scratch and sequential checking with proof selection. In particular, 4-way parallelization is up to 28.6 times faster than the former, and up to 2.8 times faster than the latter.

链接与引用

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

BibTeX
@inproceedings{paperbot4832,
  title = {piCoq: parallel regression proving for large-scale verification projects},
  author = {Karl Palmskog and Ahmet Celik and Milos Gligoric},
  booktitle = {ISSTA},
  year = {2018},
  doi = {10.1145/3213846.3213877}
}