Patrick Cousot

Palmarès des Prix 2008
Prix de la Meilleure Thèse - Concours 2008
Prix de la meilleure thèse – Concours 2007
Prix de la meilleure thèse - Lauréats 2006
Les Grands Prix - Lauréats 2005 et 2006
Les Grands Prix
Prix Irène Joliot-Curie
Grands Prix - Concours 2008


 

Patrick Cousot est né en 1948. Passé par l'Ecole des Mines de Nancy, il a passé sa  thèse à Grenoble en 1974. Il a été professeur à Metz, puis à l'Ecole Polytechnique de 1984 à 1991, et enfin à l'ENS depuis 1991. Sa carrière de recherche a été centrée sur l'interprétation abstraite de programmes. Il s'agit d'effectuer des calculs sur les programmes permettant de prouver des propriétés de correction comme l'absence d'exception numérique, de code mort, ou de blocage dans un système parallèle. Ces propriétés sont évidemment essentielles pour le code embarqué, et le premier grand succès pratique de la méthode est lié à l'explosion d'Ariane 501, due précisément à un débordement arithmétique dont on a montré ensuite qu'il était détectable statiquement par interprétation abstraite.


Le cadre théorique de l'interprétation abstraite a été posé par P. et R.. Cousot dès leur premier papier de POLP 1977, qui est resté absolument séminal. L'idée est de représenter les valeurs possibles des variables au cours de l'exécution d'un programme par des structures de données finies, par exemples des intervalles, sur lesquels on  peut faire des calculs exacts ou approchés pour borner les valeurs possibles au cours de l'exécution. On retrouve bien sûr cette idée dans toutes les approches d'analyse statique, mais le point fort de l'approche de Cousot a été de systématiser une théorie générale d'interprétation abstraite fondée sur des connections de Galois entre domaines sémantiques exacts et approchés. La théorie générale du point fixe donne automatiquement la correction du processus itératif de calcul, alors que le choix des domaines abstraits conditionne le pouvoir de résolution des algorithmes et leur performance. Les domaines simples sont rapides mais peuvent donner des fausses alarmes, alors que les domaines précis peuvent induire des temps de calcul réhibitoires. Avec ses nombreux élèves, P. Cousot a caractérisé beaucoup de domaines abstraits intéressants, et en a fait une sorte de cartographie à travers de nombreux articles, conférences invitées, et développements logiciels.

L'interprétation abstraite ne s'arrête pas à  la théorie. A la suite de l'accident d'Ariane 5, et sur demande du CNES, d'anciens élèves de Cousot ont développé un système d'interprétation abstraite qui a effectivement permis de détecter le bug a posteriori. Ceci a conduit à la création de la société Polyspace, qui applique l'interprétation abstraite dans de nombreux projets avioniques, spatiaux, automobiles, et plus généralement embarqués. Comme son nom l'indique, la société allemande Absint utilise aussi l'interprétation abstraite pour l'évaluation de performance de programmes. Ses logiciels sont utilisés par Airbus pour évaluer les temps d’exécution de plusieurs systèmes informatiques embarqués dans les Airbus. Plus récemment, le système Astrée développé par l'équipe de Cousot à l'ENS a donné des résultats remarquables sur les code de commande de vol des Airbus A340 et A380: vérification complète de l’absence d’exceptions arithmétiques sur des centaines de milliers de lignes de code, avec zéro fausse alarme. Je considère que ce succès ouvre la voie à bien d'autres réalisations aussi importantes, et que l'interprétation abstraite est devenue une technique fondamentale de la sécurité informatique. Elle est aussi maintenant adoptée dans de plus en plus de compilateurs et d’analyseurs statiques de programmes pour remplacer avantageusement les méthodes ad-hoc traditionnelles.
Comme professeur, Patrick Cousot a énormément enseigné. Comme directeur de thèse, il dirigé beaucoup d'excellents élèves de l'X, de l'ENS, ou d'ailleurs, et on peut dire qu'il a fondé une véritable école. Enfin, il a eu la médaille d'Argent du CNRS et est docteur Honoris Causa de l'Université de Sarre.
L’impact des travaux scientifiques de Patrick Cousot dans la recherche et l’industrie, en particulier pour l’avionique et l’espace, et celui de ses enseignements font que je le considère comme un candidat de tout premier plan pour le grand prix EADS.


10 publications de P. Cousot
Patrick Cousot & Radhia Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Conference Record of the Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 238-252, Los Angeles, California, 1977. ACM Press, New York, NY, USA.
Patrick Cousot. Semantic foundations of program analysis. In S.S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applications, Ch. 10, pages 303-342, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, U.S.A., 1981.
Patrick Cousot. Methods and Logics for Proving Programs. In J. van Leeuwen, editor, Formal Models and Semantics, volume B of Handbook of Theoretical Computer Science, chapter 15, pages 843-993. Elsevier Science Publishers B.V. (North-Holland), Amsterdam, The Netherlands, 1990.
Patrick Cousot & Radhia Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511-547, August 1992.
Patrick Cousot. Abstract Interpretation. In ACM Computing Surveys, 28(2):324-328, June 1996.
Patrick Cousot and Radhia Cousot. Refining Model Checking by Abstract Interpretation
. Automated Software Engineering Journal, special issue on Automated Software Analysis, 6(1):69-95, 1999.
Patrick Cousot and Radhia Cousot.  Systematic Design of Program Transformation Frameworks by Abstract Interpretation.In Conference Record of the 29th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Programming Languages, Portland, OR, USA, January 16-18, 2002. ACM Press, New York, U.S.A. pp. 178-190.
Patrick Cousot. Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation. Theoretical Computer Science, 277(1-2):47-103, 2002. © Elsevier Science.

Patrick Cousot. Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming. In Sixth International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI'05), Paris, France, January 17-19, 2005. LNCS 3385, © Springer, Berlin, pp. 1-24.

Patrick Cousot, Radhia Cousot, Jérôme Feret, Antoine Miné, David Monniaux, Laurent Mauborgne, Xavier Rival. The ASTRÉE Analyzer. ESOP 2005: The European Symposium on Programming, Edinburgh, Scotland, April 2-10, 200