ICFP 2018 (series) / Research Papers /
Ready, Set, Verify! Applying hs-to-coq to Real-World Haskell Code (Experience Report)
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.
Wed 26 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
Wed 26 Sep
Displayed time zone: Guadalajara, Mexico City, Monterrey change
13:00 - 14:30 | Gradual Typing and ProvingResearch Papers at Stifel Theatre Chair(s): Éric Tanter University of Chile & Inria Paris | ||
13:00 22mTalk | A Spectrum of Type Soundness and Performance Research Papers DOI | ||
13:22 22mTalk | Casts and Costs: Harmonizing Safety and Performance in Gradual Typing Research Papers John Peter Campora ULL Lafayette, Sheng Chen University of Louisiana at Lafayette, Eric Walkingshaw Oregon State University DOI | ||
13:45 22mTalk | Graduality from Embedding-Projection Pairs Research Papers DOI | ||
14:07 22mTalk | Ready, Set, Verify! Applying hs-to-coq to Real-World Haskell Code (Experience Report) Research Papers Joachim Breitner DFINITY Foundation, Antal Spector-Zabusky , Yao Li University of Pennsylvania, Christine Rizkallah University of New South Wales, John Wiegley BAE Systems, Stephanie Weirich University of Pennsylvania, USA DOI |