Apprentissage automatique symbolique pour l'ingénierie inverse de code binaire
Auteur / Autrice : | Aicha Boukhari |
Direction : | Nadjib Lazaar |
Type : | Projet de thèse |
Discipline(s) : | Informatique |
Date : | Inscription en doctorat le 01/12/2023 |
Etablissement(s) : | Université de Montpellier (2022-....) |
Ecole(s) doctorale(s) : | École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....) |
Résumé
Les annotations de code, comme les pré/post-conditions de fonction, permettent de spécifier formellement le comportement d'un programme. Elles sont ainsi très utiles en rétro-ingénierie, en génie logiciel et en vérification de code. Malheureusement, ces annotations sont rarement disponibles et doivent donc être retrouvées à la main. Ce projet aura pour objectif de relier les domaines du machine-learning symbolique, notamment l'acquisition de contraintes, et de la synthèse de code (ex: SyGus, CEGIS). Ce projet étudiera en particulier comment combiner l'acquisition de contraintes et les méthodes formelles pour inférer des annotations complexes de code. La méthode proposée devra être capable d'analyser des programmes difficiles à gérer par l'état de l'art (ex: code optimisé ou obfusqué) tout en offrant de bonnes garanties théoriques. Le candidat retenu, développera son approche à partir de nos récents résultats publiés à IJCAI-ECAI 2022 et KR 2023. Il pourra profiter de l'expertise de notre équipe en analyse de binaire et de nos outils d'analyse de code: Binsec et PreCA.