Des briques de calcul formel plus solides avec Capla
Résumé
Cet article présente Capla, un langage de programmation dédié à l'écriture des algorithmes de bas niveau utilisées en calcul formel. Ces algorithmes (GMP, BLAS/LAPACK, etc) sont habituellement écrits en C, Fortran et assembleur et utilisent les pointeurs de manière intensive. Le langage que nous proposons possède une syntaxe proche de celles de C ou Rust et un système de types similaire à celui de SPARK. Ce langage n'a pas de comportement indéfini et est conçu pour faciliter la vérification déductive de programmes, tout en étant suffisamment bas niveau pour être adapté aux applications nécessitant beaucoup de calculs. Cet article décrit le langage, ainsi que son compilateur, basé sur CompCert. La sûreté du langage, ainsi que la correction du compilateur, ont été formellement prouvées à l'aide de l'assistant de preuves Coq. Cet article est un résumé d'un travail précédemment publié.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|