Recrutement CNRS

Chercheur - Preuves Formelles Basées sur des Scenarios pour le Logiciel Concurrent H/F - CNRS

  • Palaiseau - 91
  • CDD
  • CNRS
Publié le 1 août 2026
Postuler sur le site du recruteur

Les missions du poste


Description du Poste Les Missions L'objectif principal de ce poste est de développer de nouveaux algorithmes pour la vérification formelle de systèmes concurrents ou distribués. L'Activité Les logiciels modernes utilisent de plus en plus la programmation concurrente afin d'exploiter les avantages de performances offerts par les architectures multicoeurs. En particulier, la formation des modèles d'apprentissage en profondeur est souvent parallélisée afin de faire face aux augmentations massives du nombre de paramètres.La programmation concurrente est cependant notoirement difficile et des bogues de concurrence existent même dans le code écrit par les programmeurs les plus expérimentés. Par conséquent, les chercheurs ont développé des techniques de raisonnement mathématique, dans l'espoir que des preuves pourraient être utilisées pour résoudre ce problème. Malheureusement, de nombreuses techniques de preuve basées sur la logique telles que le rely-guarantee, Owicki-Gries, etc. s'en remettre à l'utilisateur pour fournir des invariants complexes souvent peu intuitifs. En revanche, les concepteurs d'algorithmes de la communauté informatique distribuée fournissent fréquemment des arguments de style plus opérationnel pour la correction de leurs implémentations, qui se concentrent sur les descriptions de scénarios d'entrelacement clés, mais qui se généralisent à un nombre illimité de threads.Dans ce projet, nous allons combler cette lacune et élever le raisonnement basé sur des scénarios d'arguments intuitifs à des arguments formellement rigoureux qui sont accessibles aux programmeurs et même automatiquement dérivés du code source.L'objectif est de développer des techniques fondamentales, des algorithmes et des outils automatisés, démontrant que le raisonnement basé sur des scénarios peut être rigoureux, mais aussi accessible aux programmeurs de tous les jours. Nous formaliserons les scénarios comme, ce que nous appelons, le quotient d'exécution d'un programme, qui capture un petit ensemble d'exécutions entrelacées représentatives qui se généralisent néanmoins --- via la commutativité --- à l'ensemble de toutes les exécutions, même avec un nombre illimité de threads et un espace infini d'états. Nous montrerons que ces quotients peuvent être décrits succinctement dans un langage convenable ; qu'il est possible de dériver automatiquement des quotients directement à partir du code source ; et que les programmeurs peuvent utiliser ces dérivations et les interroger pour mieux comprendre les comportements concurrents de leurs implémentations. Les principales composantes de ce projet seront:- Établir des bases formelles pour les quotients d'exécution pour un raisonnement basé sur des scénarios.- Concevoir des langages pour représenter abstraitement des quotients de manière compacte et compréhensible.- Systématiser le processus de preuve pour montrer qu'une telle abstraction couvre toutes les exécutions possibles du programme, par de nouveaux schemas d'induction combinés avec le raisonnement sur la commutativité.- Concevoir des algorithmes d'analyse de programme pour dériver automatiquement des abstractions de quotient directement à partir du code source. Votre Profil Compétences Le/la candidat(e) doit être titulaire d'un Master 2 en informatique, avec une expertise en informatique théorique, méthodes formelles, systèmes concurrents ou distribués. Votre Environnement de Travail Le/la candidat(e) fera partie de l'équipe Cosynus de méthodes formelles au LIX (laboratoire d'informatique de l'École polytechnique). LIX est une unité mixte de recherche (UMR 7161) associée au CNRS et à l'École Polytechnique. Ses activités de recherche couvrent un large spectre de l'informatique fondamentale et appliquée, avec une forte interdisciplinarité. Parmi les autres, on retrouve de la recherche à la pointe sur les sujets suivants : algorithmes et complexité ; optimisation mathématique ; intelligence artificielle et apprentissage automatique ; bioinformatique ; systèmes et réseaux. Le LIX bénéficie de nombreuses collaborations industrielles, notamment avec des entreprises leaders dans les secteurs de la technologie, de la finance et de l'énergie. Rémunération et avantages Rémunération Entre 3 237,95€ et 3505,53€ brut selon expérience. Congés et RTT annuels 44 jours Pratique et Indemnisation du TT Pratique et indemnisation du TT Transport Prise en charge à 75% du coût et forfait mobilité durable jusqu'à 300€ À propos de l'offre Référence de l'offre UMR7161-CONENE-001 Section(s) CN / Domaine de recherche Sciences informatiques : fondements de l'informatique, calculs, algorithmes, représentations, exploitations Expérience souhaitée 1 à 4 années À propos du CNRS Le CNRS est un acteur majeur de la recherche fondamentale à une échelle mondiale. Le CNRS est le seul organisme français actif dans tous les domaines scientifiques. Sa position unique de multi-spécialiste lui permet d'associer les différentes disciplines pour affronter les défis les plus importants du monde contemporain, en lien avec les acteurs du changement. Le CNRS Les métiers de la recherche

Postuler sur le site du recruteur

Ces offres pourraient aussi vous correspondre.

Parcourir plus d'offres d'emploi