Hier, jeudi 24 novembre 2016, Xavier Leroy a reçu le prix Milner à Londres à la Royal Society. Le prix Milner est le plus grand prix européen en informatique; il est décerné conjointement par la Royal Society, l'Académie des Sciences et l'académie allemande Leopoldina. Il est décerné en l'honneur de l'informaticien britannique Robin Milner qui fut lauréat du Prix Turing en 1992.

Le prix revient cette année à Xavier Leroy pour ses travaux tant théoriques que pratiques sur la fiabilité des systèmes informatiques. Xavier Leroy est directeur de recherche à l'INRIA et il y dirige l'équipe Gallium. Il est à l'origine du langage OCaml ainsi que du compilateur C certifié CompCert. Ce dernier est un compilateur C écrit en Coq et « garanti sans bugs ». Pour reprendre la présentation qu'en donne Gérard Berry dans le bulletin de la Société Informatique de France :

Un tel développement est une course de haies : il faut d’abord choisir un sous-ensemble approprié de C, qui est loin d’être un langage bien défini. Le sous-ensemble C-light que compile CompCert correspond bien aux besoins du logiciel industriel embarqué dans les systèmes physiques. Il faut ensuite choisir des sous-ensembles des langages machine des processeurs (Intel, Motorola, Mips, etc.) qui soient également formellement définissables. Une fois ces sous-ensembles choisis, il faut définir leur sémantique mathématique de façon appropriée et directement implémentable dans un assistant de vérification. Enfin, il faut démontrer un théorème du type « pour tout programme P écrit en C et toute machine cible M, si CompCert produit un code machine PM pour M à partir de P, alors exécuter PM sur M donne pour toute entrée le même résultat qu’exécuter P dans la sémantique de C ».

(NdM. : la dernière phrase de cette citation comprend une coquille à la source au moment de la rédaction du journal, corrigée ici, la dernière occurrence de P étant par erreur un M à la source)

Autrement dit, le compilateur n'introduit pas de bugs en traduisant le code C en langage machine. S'il y a un bug dans le programme compilé, alors il se trouve dans le code C et non dans le compilateur.

La remise du prix a eu lieu hier et la vidéo de la cérémonie est disponible sur le site de la Royal Society.

Pour conclure sur une note de chauvinisme, chantons le cri du Coq : Cocorico !