CompCert : une révolution pour le développement avionique
trait de séparation
Temps de lecture : 6 minutes • Avril 2026
Pourquoi la qualification du compilateur CompCert révolutionne le développement avionique
Dans les systèmes avioniques critiques, la moindre erreur logicielle peut avoir des conséquences majeures. Parmi les maillons les plus sensibles de la chaîne de développement figure le compilateur, cet outil chargé de transformer le code source en code machine. Or, même les compilateurs les plus répandus comportent des bugs, parfois invisibles, générant du code machine incorrect. Ce phénomène, appelé miscompilation peut rester indétecté malgré des milliers d’heures de test. L’ensemble des acteurs de l’industrie de l’aviation tel que Airbus en ont conscience et connaissent les enjeux qui y sont liés.
C’est précisément cette problèmatique que résout CompCert, le premier compilateur C optimisant et formellement vérifié, développé par AbsInt.
Dans cet article, nous revenons sur les enjeux de cette technologie, son intégration dans l’écosystème avionique d’Airbus, et les raisons pour lesquelles elle constitue un levier clé pour la certification DO‑178C/DO‑330.
CompCert : le premier compilateur C optimisant à avoir été formellement vérifié.
Contrairement aux compilateurs traditionnels, CompCert repose sur :
Grâce à sa preuve formelle de préservation sémantique, le code machine généré par CompCert se comporte conformément au programme C d’origine. Cette propriété est au cœur de sa conception et résulte de la vérification formelle de chacune des étapes de compilation. Cette combinaison, optimisation et preuve formelle, fait de CompCert une solution disponible assez unique et adaptée aux environnements critiques où la confiance dans le compilateur est essentielle.
- Une preuve mathématique formelle, validée par le prouveur Coq ;
- Une préservation sémantique démontrée entre le code source et le code machine ;
- Une absence prouvée de miscompilation, ce qui élimine une grande partie des risques classiques liés aux outils.
- 20 passes de compilation et 11 langages intermédiaires, chacun vérifié individuellement puis composés pour assurer une fiabilité de bout en bout.
Grâce à sa preuve formelle de préservation sémantique, le code machine généré par CompCert se comporte conformément au programme C d’origine. Cette propriété est au cœur de sa conception et résulte de la vérification formelle de chacune des étapes de compilation. Cette combinaison, optimisation et preuve formelle, fait de CompCert une solution disponible assez unique et adaptée aux environnements critiques où la confiance dans le compilateur est essentielle.
Les bénéfices de ComptCert pour la certification avionique (DO 178C / DO 330 / DO 333)
Dans l’avionique, les standards tels que DO 178C / DO 330 / DO 333, imposent des contraintes fortes pour garantir la sûreté logicielle.
Avec CompCert, de nombreuses obligations deviennent plus simples, plus fiables, et moins coûteuses.
Avec CompCert, de nombreuses obligations deviennent plus simples, plus fiables, et moins coûteuses.
Traçabilité code source → code exécutable
Les standards exigent de démontrer que le code exécutable correspond strictement au code source.
Grâce à la préservation sémantique formelle, aucune optimisation n’introduit de comportement non maîtrisé, même dans le cas de code “additionnel” généré par le compilateur.
Grâce à la préservation sémantique formelle, aucune optimisation n’introduit de comportement non maîtrisé, même dans le cas de code “additionnel” généré par le compilateur.
Réduction du besoin de tests au niveau code objet
Comme la norme DO‑333 autorise l’usage de preuves formelles, CompCert permet d’obtenir des crédits de vérification, permettant de :
- Réduire les tests structuraux au niveau exécutable,
- Réduite les efforts d’analyse d’impact en présence de bugs de compilation,
- D’utiliser des optimisations de compilation fiables.
Un compilateur adapté aux environnements les plus exigeants
Airbus s’appuie sur CompCert comme compilateur C principal pour ses logiciels critiques déployés depuis plusieurs années.
Pour sécuriser l’ensemble de la chaîne jusqu’au code exécutable, Airbus s’appuie également sur Valex, l’outil de validation d’AbsInt, inclus avec CompCert, qui vérifie l’équivalence entre le code assembleur produit par CompCert et le binaire final.
Pour sécuriser l’ensemble de la chaîne jusqu’au code exécutable, Airbus s’appuie également sur Valex, l’outil de validation d’AbsInt, inclus avec CompCert, qui vérifie l’équivalence entre le code assembleur produit par CompCert et le binaire final.
Vers un nouveau standard de qualification de compilateurs (DO 330 TQL 3)
Historiquement, les compilateurs n’étaient pas qualifiés : on compensait par davantage de tests. Avec CompCert, c’est l’inverse : la preuve formelle devient la base de la qualification.
AbsInt fournit un kit de qualification fourni comprenant :
Cette approche dépasse largement les méthodes traditionnelles basées principalement, voir uniquement, sur des suites tests
AbsInt fournit un kit de qualification fourni comprenant :
- Les TOR (Tool Operational Requirements) couvrant l’intégralité de la norme ISO C99,
- Les TR (Tool Requirements) détaillés, formels et informels,
- Des jeux de tests complets (TVCP, TOVVCP),
- Les outils de traçabilité et des revues structurées,
- Un support adapté à l’obtention d’un TQL‑3 DO‑330 avec allègements documentés.
Cette approche dépasse largement les méthodes traditionnelles basées principalement, voir uniquement, sur des suites tests
Conclusion : Ce que cela change pour les industriels ?
L’intégration de CompCert dans le développement avionique n’est pas simplement une évolution technique : c’est un changement de paradigme, on passe d’un monde où « on teste beaucoup » à un monde où on prouve que le compilateur est correct.
En éliminant les risques liés aux miscompilations et en apportant des preuves formelles exploitables dans la DO‑178C/DO‑330, CompCert permet :
- De développer plus rapidement
- De certifier plus sereinement
- De conserver des performances optimales en conservant les optimisations
- D’éliminer toute une classe de risques historiques
- De réduire drastiquement les coûts vérification
AbsInt : un écosystème complet pour la sûreté logicielle
Pour les organisations qui cherchent à sécuriser leur chaîne de compilation et à accélérer leur démarche de certification, CompCert et la suite d’outils AbsInt représentent aujourd’hui la référence incontestée.
- CompCert n’est qu’une brique dans l’offre que propose AbsInt qui met à disposition des industriels un écosystème complet d’outils :
- Astrée : outil d’analyse statique formel prouvant l’absence d’erreurs à l’exécution
- aiT : outil d’analyse WCET
- StackAnalyser : outil d’analyse du pire cas d’utilisation de la pile
- Kits de qualification
- Un accompagnement expert dans la certification
Pour les organisations qui cherchent à sécuriser leur chaîne de compilation et à accélérer leur démarche de certification, CompCert et la suite d’outils AbsInt représentent aujourd’hui la référence incontestée.
