Projet : COQ

previous up next contents
Précédent : Preuves de protocoles Remonter : Domaines d'applications Suivant : Logiciels


   
Certification de compilateurs

Les outils utilisés pour faire des preuves reposent en général sur un traitement de notations de haut-niveau qui sont ensuite traduites vers un langage exécutable. C'est le cas par exemple de la vérification de systèmes réactifs où l'analyse est faite à partir de programmes écrits dans les langages synchrones qui sont ensuite traduits vers des automates.

Afin d'assurer la certification des programmes ainsi obtenus, il est nécessaire de justifier la correction du compilateur. Le formalisme de Coq se prête assez bien à ce genre de preuve du fait de la représentation possible des règles sémantiques par des définitions inductives et de la possibilité d'obtenir un compilateur exécutable certifié à partir d'une preuve de correction de la traduction. Cette approche peut être appliquée au système Coq lui-même, le noyau de vérification de preuve est un programme critique qui s'apparente aux compilateurs et dont le développement peut être fait à l'aide du système Coq lui-même.