How to Get an Efficient yet Verified Arbitrary-Precision Integer Library - Inria - Institut national de recherche en sciences et technologies du numérique
Pré-Publication, Document De Travail Année : 2017

How to Get an Efficient yet Verified Arbitrary-Precision Integer Library

Résumé

The GNU Multi-Precision library is a widely used, safety-critical, library for arbitrary-precision arithmetic. Its source code is written in C and assembly, and includes intricate state-of-the-art algorithms for the sake of high performance. Formally verifying the functional behavior of such highly optimized code, not designed with verification in mind, is challenging. We present a fully verified library designed using the Why3 program verifier. The use of a dedicated memory model makes it possible to have the Why3 code be very similar to the original GMP code. This library is extracted to C and is compatible and performance-competitive with GMP.
Fichier principal
Vignette du fichier
main.pdf (308.49 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01519732 , version 1 (09-05-2017)
hal-01519732 , version 2 (31-08-2017)

Identifiants

  • HAL Id : hal-01519732 , version 1

Citer

Raphaël Rieu-Helft, Claude Marché, Guillaume Melquiond. How to Get an Efficient yet Verified Arbitrary-Precision Integer Library. 2017. ⟨hal-01519732v1⟩
558 Consultations
2054 Téléchargements

Partager

More