WhyMP, a formally verified arbitrary-precision integer library
Author(s) -
Guillaume Melquiond,
Raphaël Rieu-Helft
Publication year - 2020
Publication title -
hal (le centre pour la communication scientifique directe)
Language(s) - English
Resource type - Conference proceedings
ISBN - 978-1-4503-7100-1
DOI - 10.1145/3373207.3404029
Subject(s) - correctness , computer science , integer (computer science) , mathematical proof , formal verification , automated theorem proving , programming language , block (permutation group theory) , functional verification , theoretical computer science , interface (matter) , formal methods , algorithm , mathematics , parallel computing , geometry , bubble , maximum bubble pressure method
Arbitrary-precision integer libraries such as GMP are a critical building block of computer algebra systems. GMP provides state-of-the-art algorithms that are intricate enough to justify formal verification. In this paper, we present a C library that has been formally verified using the Why3 verification platform in about four person-years. This verification deals not only with safety, but with full functional correctness. It has been performed using a mixture of mechanically checked handwritten proofs and automated theorem proving. We have implemented and verified a nontrivial subset of GMP's algorithms, including their optimizations and intricacies. Our library provides the same interface as GMP and is almost as efficient for smaller inputs. We detail our verification methodology and the algorithms we have implemented, and include some benchmarks to compare our library with GMP.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom