Ready, Set, Verify! Applying hs-to-coq to real-world haskell code (experience report)

17Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

Abstract

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.

Author supplied keywords

Cite

CITATION STYLE

APA

Breitner, J., Spector-Zabusky, A., Li, Y., Rizkallah, C., Wiegley, J., & Weirich, S. (2018). Ready, Set, Verify! Applying hs-to-coq to real-world haskell code (experience report). Proceedings of the ACM on Programming Languages, 2(ICFP). https://doi.org/10.1145/3236784

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free