paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Quick specifications for the busy programmer

面向忙碌程序员的 QuickSpec 快速规范
JFP vol.272017匹配度 3/10 · 该论文属于函数式程序性质自动探索与测试,能为形式验证提供引理发现支持,与PL/形式化验证有弱关联;但它不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,也未讨论AI与PL交叉,因此与用户当前核心研究方向匹配度较低。引用 39 inbox
NICHOLAS SMALLBONE, MOA JOHANSSON, KOEN CLAESSEN, MAXIMILIAN ALGEHED
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 QuickSpec 的新理论探索架构,通过测试 Haskell 程序自动发现更复杂、更快的等式性质与引理。

QuickSpec 是一个理论探索系统,可自动测试 Haskell 程序并发现其中的等式性质;这些性质既有助于理解程序,也可作为引理辅助正确性证明。用户只需提供待测函数和 QuickCheck 数据生成器,系统便较大程度自动运行。此前包括早期 QuickSpec 在内的理论探索系统扩展性较差,难以发现复杂定律。本文提出一种新的理论探索架构,显著提升了可扩展性与速度。结果表明,新架构能找到远比以前复杂且更快的定律,并在函数式编程与数学问题上进行了演示。

问题
已有理论探索系统(包括早期 QuickSpec)扩展性差,难以高效发现复杂的等式定律。本文关注如何自动、可扩展地从 Haskell 程序中探索有用规范。
方法
QuickSpec 仅需用户给出待测函数与 QuickCheck 数据生成器,通过测试自动寻找等式性质;论文设计新架构以提升理论探索的规模与速度。
评估
在函数式编程和数学问题上演示新架构,发现比之前更复杂、更快的等式定律。
原文摘要(Abstract)

Abstract QuickSpec is a theory exploration system which tests a Haskell program to find equational properties of it, automatically. The equations can be used to help understand the program, or as lemmas to help prove the program correct. QuickSpec is largely automatic: the user just supplies the functions to be tested and QuickCheck data generators. Previous theory exploration systems, including earlier versions of QuickSpec itself, scaled poorly. This paper describes a new architecture for theory exploration with which we can find vastly more complex laws than before, and much faster. We demonstrate theory exploration in QuickSpec on problems both from functional programming and mathematics.

链接与引用

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

BibTeX
@article{SmallboneJCA17,
  title = {Quick specifications for the busy programmer},
  author = {NICHOLAS SMALLBONE and MOA JOHANSSON and KOEN CLAESSEN and MAXIMILIAN ALGEHED},
  journal = {Journal of Functional Programming},
  volume = {27},
  year = {2017},
  doi = {10.1017/s0956796817000090}
}