

Sciences du logiciel - Xavier Leroy
Collège de France
Écrire un petit programme informatique est facile. Concevoir et réaliser un logiciel complet qui soit fiable, pérenne et résistant aux attaques reste extraordinairement difficile. C'est le but des sciences du logiciel que de concevoir et développer les principes, les formalismes mathématiques, les techniques empiriques et les outils informatiques nécessaires pour concevoir, programmer et vérifier des logiciels fiables et sécurisés.L'enseignement de la chaire Sciences du logiciel vise à explorer cette problématique et à présenter la recherche contemporaine dans ce domaine. Le cours privilégie les approches dites « formelles », par opposition à l'empirisme souvent de mise en génie logiciel. Ces approches s'appuient sur des fondements mathématiquement rigoureux, connus ou en émergence : sémantiques formelles, logiques de programmes, systèmes déductifs, équivalences de programmes, calculs de processus… Historiquement, ces concepts ont émergé de considérations de programmation très terre-à-terre avant de se parer de rigueur mathématique. Le cours s'efforce de retracer ce cheminement des idées en partant de l'intuition du programmeur et en allant jusqu'à la mécanisation de ces approches formelles.Les premières années de cet enseignement auraient pu s'intituler « Programmer, démontrer », car ils ont exploré plusieurs modes d'interaction entre la programmation de logiciels et la démonstration d'énoncés mathématiques : programmer puis démontrer, comme dans les logiques de programmes pour la vérification déductive ; programmer pour démontrer, comme dans les logiques constructives et l'assistant à la démonstration Coq ; enfin, programmer égale démontrer, comme dans la féconde correspondance de Curry-Howard, objet de la première année du cours.La recherche de la chaire Sciences du logiciel s'effectue dans le cadre de l'équipe-projet Cambium, commune avec l'Inria. Les travaux de l'équipe visent à améliorer la fiabilité, la sûreté et la sécurité du logiciel en faisant progresser les langages de programmation et les méthodes de vérification formelle de programmes. Les principaux thèmes de recherche sont les systèmes de types et les algorithmes d'inférence de types, la vérification déductive de programmes, le parallélisme à mémoire partagée, et les modèles mémoires faiblement cohérents. L'équipe conçoit et développe deux grands logiciels de recherche qui intègrent et font passer dans la pratique bon nombre de ses résultats : OCaml, un langage de programmation fonctionnel statiquement typé et son implémentation, et CompCert, un compilateur formellement vérifié pour logiciels embarqués critiques.
Episodes
Mentioned books

Nov 13, 2025 • 1h 2min
Séminaire - Pierrick Gaudry : Outils cryptographiques pour le vote électronique
Découvrez les enjeux passionnants du vote électronique avec Pierrick Gaudry. Il explique les preuves zero-knowledge, essentielles pour garantir le secret et la vérifiabilité du vote. Apprenez le fonctionnement des protocoles comme Belenios et Helios, ainsi que des techniques avancées comme le déchiffrement semi-homomorphe. Il aborde également les défis de l'interaction avec la transformation Fiat–Shamir et les perspectives futures, notamment l'importance des SNARKs dans un monde post-quantique. Un aperçu fascinant de la cryptographie moderne!

Nov 13, 2025 • 1h 14min
02 - Le calcul sécurisé : calculer sur des données chiffrées ou privées : Chiffrement totalement homomorphe : calculer sur des données chiffrées (1)
Xavier Leroy explore le calcul sécurisé et le chiffrement homomorphe. Il présente les algorithmes de chiffrement, en commençant par les chiffrements semi-homomorphes comme RSA et ElGamal. L'objectif est d'atteindre un chiffrement totalement homomorphe qui permet des opérations sur des données chiffrées. Leroy explique aussi l'importance du bruit dans les schémas de chiffrement et les défis pratiques comme la taille des clés. Enfin, il aborde la technique de bootstrap pour maintenir la faisabilité du déchiffrement.

6 snips
Nov 6, 2025 • 1h 20min
01- Le calcul sécurisé : calculer sur des données chiffrées ou privées : Sécuriser le calcul : introduction et étude de cas
Découvrez comment sécuriser le calcul sur des données privées grâce au chiffrement homomorphe et au calcul multipartite sécurisé. Ces techniques permettent d'effectuer des opérations sans révéler des informations personnelles, comme déterminer un salaire moyen sans divulguer les montants. Explorez des études de cas fascinantes, comme le vote électronique qui préserve l'anonymat tout en garantissant l'intégrité des résultats. Ces méthodes innovantes ouvrent la voie à de nombreuses applications pratiques pour protéger la confidentialité.

Mar 14, 2024 • 55min
Séminaire - Daan Leijen : Design and Compilation of Efficient Effect Handlers in the Koka Language
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-2024Séminaire - Daan Leijen : Design and Compilation of Efficient Effect Handlers in the Koka LanguageDaan LeijenMicrosoft Research

Mar 14, 2024 • 1h 22min
08 - Structures de contrôle : de « goto » aux effets algébriques : 08 - Structures de contrôle : de « goto » aux effets algébriques : Logiques de programmes pour le contrôle et les effets
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-202408 - Structures de contrôle : de « goto » aux effets algébriques : 08 - Structures de contrôle : de « goto » aux effets algébriques : Logiques de programmes pour le contrôle et les effets

Mar 7, 2024 • 1h 4min
Séminaire - Matija Pretnar : Effect handlers and mathematically inspired language constructs
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-2024Séminaire - Matija Pretnar : Effect handlers and mathematically inspired language constructsMatija PretnarUniversité de Ljubljana

Mar 7, 2024 • 1h 19min
07 - Structures de contrôle : de « goto » aux effets algébriques : Typage et analyse statique des effets
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-202407 - Structures de contrôle : de « goto » aux effets algébriques : Typage et analyse statique des effets

Feb 29, 2024 • 59min
Séminaire - Olivier Danvy : Les continuations : cinq minutes pour les apprendre, toute une vie pour les comprendre
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-2024Séminaire - Olivier Danvy : Les continuations : cinq minutes pour les apprendre, toute une vie pour les comprendreOlivier DanvyNational University of Singapore

Feb 29, 2024 • 1h 16min
06 - Structures de contrôle : de « goto » aux effets algébriques : Théorie des effets : des monades aux effets algébriques
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-202406 - Structures de contrôle : de « goto » aux effets algébriques : Théorie des effets : des monades aux effets algébriques

Feb 22, 2024 • 45min
Séminaire - Andrew Kennedy : Compiling with Continuations
Xavier LeroyCollège de FranceScience du logicielAnnée 2023-2024Séminaire - Andrew Kennedy : Compiling with ContinuationsAndrew KennedyMeta


