Langage de programmation et compilateur formellement vérifié pour les bibliothèques numériques de bas niveau

Les bibliothèques numériques de bas niveau telles que GMP et BLAS sont largement utilisées. Elles sont majoritairement écrites en C, Fortran ou assembleur et utilisent massivement des tableaux et des pointeurs. Ces langages sont adaptés à l'écriture de code efficace mais ne sont pas sûrs, c'est-à-dire qu'ils ont de nombreux comportements indéfinis qui augmentent le risque de bogues. De plus, leur sémantique rend difficile les raisonnements sur les programmes, et donc leur vérification ; il s'agit pourtant d'un point crucial car la correction des bibliothèques numériques est souvent subtile. Enfin, les compilateurs pour ces langages sont souvent très optimisants et donc très compliqués, ce qui peut limiter la confiance dans le code qu'ils génèrent. Cette thèse porte sur la conception d'un langage, nommé Capla, et de son compilateur. Ceux-ci résolvent les problèmes précités tout en étant adaptés à l'écriture et à la vérification de bibliothèques numériques de bas niveau efficaces. En particulier, la sémantique de Capla, ainsi que les preuves de sûreté du langage et de correction du compilateur, ont été formalisées à l'aide de l'assistant de preuves Rocq.

Publication Details

Published
2025-11-25
Primary Topic
Logic, programming, and type systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Langage de programmation et compilateur formellement vérifié pour les bibliothèques numériques de bas niveau

Logic, programming, and type systems
article

Langage de programmation et compilateur formellement vérifié pour les bibliothèques numériques de bas niveau

article en

Abstract

Les bibliothèques numériques de bas niveau telles que GMP et BLAS sont largement utilisées. Elles sont majoritairement écrites en C, Fortran ou assembleur et utilisent massivement des tableaux et des pointeurs. Ces langages sont adaptés à l'écriture de code efficace mais ne sont pas sûrs, c'est-à-dire qu'ils ont de nombreux comportements indéfinis qui augmentent le risque de bogues. De plus, leur sémantique rend difficile les raisonnements sur les programmes, et donc leur vérification ; il s'agit pourtant d'un point crucial car la correction des bibliothèques numériques est souvent subtile. Enfin, les compilateurs pour ces langages sont souvent très optimisants et donc très compliqués, ce qui peut limiter la confiance dans le code qu'ils génèrent. Cette thèse porte sur la conception d'un langage, nommé Capla, et de son compilateur. Ceux-ci résolvent les problèmes précités tout en étant adaptés à l'écriture et à la vérification de bibliothèques numériques de bas niveau efficaces. En particulier, la sémantique de Capla, ainsi que les preuves de sûreté du langage et de correction du compilateur, ont été formalisées à l'aide de l'assistant de preuves Rocq.

Quality Education
Openalex Percentile: Top 19%
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.