Informations générales
Intitulé de l'offre : Contrat doctoral en "Reconnaissance de programmes par réseaux de neurones et intelligence artificielle" (H/F)
Référence : UMR7271-VIVROS-079
Nombre de Postes : 1
Lieu de travail : VALBONNE
Date de publication : mardi 1 avril 2025
Type de contrat : CDD Doctorant
Durée du contrat : 36 mois
Date de début de la thèse : 1 octobre 2025
Quotité de travail : Complet
Rémunération : La rémunération est d'un minimum de 2200,00 € mensuel
Section(s) CN : 06 - Sciences de l'information : fondements de l'informatique, calculs, algorithmes, représentations, exploitations
Description du sujet de thèse
Un résultat fondamental en informatique (calculabilité) nous affirme que des problèmes indécidables existent, c’est-à-dire pour lesquels il n’existe aucun algorithme qui soit capable d’en fournir une solution. Cela n’est pas une bonne nouvelle fondamentale, car cela prouve qu’il existe des problèmes de calculs qui ne peuvent pas être résolus par une méthode automatique.
Un exemple classique de problème indécidable – et que nous allons étudier dans le cadre de cette thèse – consiste à prendre deux programmes et se demander s’ils calculent la même chose. C’est un sujet qui mixent des compétences en compilation et en intelligence artificielle.
Que faire donc lorsqu’on veut s’attaquer à un problème indécidable? Il faut être pragmatique: Il faut accepter de faire des erreurs de temps en temps. Le programme qui essaye de résoudre un problème indécidable fonctionnerait bien pour certaines instances et calculerait un résultat incorrect pour d’autres. Il faudrait aussi veiller à que les cas des calculs incorrects soient aussi rares que possible. C’est un cadre d’application idéal des réseaux de neurones qui, par nature, calculent leurs résultats à une marge d’erreur près.
Concrètement, dans cette thèse nous voudrions étudier et construire un outil (grâce aux réseaux de neurones) qui reconnait ce que calcule un programme. Ce problème de reconnaissance automatique des programmes, bien qu’indécidable, reste un enjeu fondamental en informatique, dont les applications sont nombreuses: reverse engineering, compilation et optimisation de code, analyse de sécurité de code, détection de code malveillant, etc. Essayer de deviner si un programme calcule telle ou telle fonction précise est une question qui se pose en pratique. Des travaux de recherche existent et ont tenté de reconnaitre les programmes de manière algorithmique.
Cette thèse aborde le problème de reconnaissance des programmes avec démarche nouvelle, qui n’est pas intuitive. L’intelligence artificielle est un domaine classique issu des mathématiques et des sciences informatiques, qui a montré son efficacité en pratique dans des situations de reconnaissance de formes graphiques, de parole, de texte, d’interaction homme-machine, etc. Nous souhaitons utiliser une telle approche à notre problème indécidable. Nous appliquerons des méthodes de réseaux de neurones pour commencer. Les étapes de travail sont:
1. Réfléchir à la bonne représentation pour la sémantique d’un programme: graphes (dépendances de données, SSA), texte (représentation fonctionnelle, programme impératif).
2. Générer via compilation plusieurs variantes d’un programme précis, et entrainer un réseau de neurones par apprentissage.
3. Tester si et à quel point un tel réseau de neurones peut reconnaître d’autres variantes du même programme.
4. Étudier les cas qui ne fonctionnent pas correctement, et tenter d’expliquer pourquoi.
Contexte de travail
Le contrat doctoral est à pourvoir au sein de l’équipe KAIROS, une équipe mixte entre le laboratoire i3S (CNRS / Université Côte d'Azur) et le centre INRIA d'Université Côte d'Azur à Sophia Antipolis. Cette thèse contribuera au projet de recherche ANR MLOpt et à l’action exploratoire INRIA ProgReco.
Le Laboratoire d'informatique, Signaux et Systèmes de Sophia Antipolis (i3S), créé en 1989, mène des recherches en sciences informatiques. Avec près de 300 personnes, enseignants-chercheurs d'Université Côte d'Azur, chercheurs CNRS et Inria, personnels administratifs et techniques, doctorants et stagiaires, il est l'un des plus grands laboratoires publics de la Côte d'Azur et a été l'un des premiers à être établi dans le parc technologique de Sophia Antipolis.
Compétences requises :
Le candidat doit avoir une licence et master en science informatique obtenus dans une université française ou européenne, avec de bons résultats scolaires dans les matières fondamentales comme la compilation ou l’informatique théorique. Le doctorant doit avoir un esprit d’autonomie, une volonté de creuser un sujet de recherche, surmonter les difficultés techniques, rédiger des documents scientifiques en anglais (articles, rapports), délivrer un prototype logiciel. Tout cela exige une rigueur et un effort continu durant toute la période de la thèse.
Expérience souhaitée :
Un stage de recherche en informatique dans un laboratoire en France ou en Europe.
Rémunération supplémentaire possible pour une activité d'enseignement à l'Université Côte d'azur.
Dossier de candidature :
Le candidat intéressé doit joindre les documents suivants:
- CV détaillé
- lettre de motivation
- Copies des diplômes
- Copies de relevés de notes depuis le bac compris
Contraintes et risques
Aucune