当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Ready, Set, Verify! Applying hs-to-coq to real-world Haskell code
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2021-02-26 , DOI: 10.1017/s0956796820000283
JOACHIM BREITNER , ANTAL SPECTOR-ZABUSKY , YAO LI , CHRISTINE RIZKALLAH , JOHN WIEGLEY , JOSHUA COHEN , STEPHANIE WEIRICH

Good tools can bring mechanical verification to programs written in mainstream functional languages. We use hs-to-coq to translate significant portions of Haskell’s containers library into Coq, and verify it against specifications that we derive from a variety of sources including type class laws, the library’s test suite, and interfaces from Coq’s standard library. Our work shows that it is feasible to verify mature, widely used, highly optimized, and unmodified Haskell code. We also learn more about the theory of weight-balanced trees, extend hs-to-coq to handle partiality, and – since we found no bugs – attest to the superb quality of well-tested functional code.

中文翻译:

准备好,设置,验证!将 hs-to-coq 应用于真实的 Haskell 代码

好的工具可以为用主流函数式语言编写的程序带来机械验证。我们用hs-to-coq翻译 Haskell 的重要部分容器库到 Coq 中,并根据我们从各种来源(包括类型类法律、库的测试套件和 Coq 标准库的接口)派生的规范对其进行验证。我们的工作表明,验证成熟、广泛使用、高度优化和未修改的 Haskell 代码是可行的。我们还了解更多关于权重平衡树的理论,扩展hs-to-coq处理偏见,并且——因为我们没有发现错误——证明了经过良好测试的功能代码的卓越质量。
更新日期:2021-02-26
down
wechat
bug