Typage de langages dynamiques avec effets et ses applications à la sécurité des programmes
Auteur / Autrice : | Philippe Volte--vieira |
Direction : | Kim Nguyen |
Type : | Projet de thèse |
Discipline(s) : | Informatique |
Date : | Inscription en doctorat le 01/10/2023 |
Etablissement(s) : | université Paris-Saclay |
Ecole(s) doctorale(s) : | École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Méthodes Formelles |
Référent : Université Paris-Saclay. Faculté des sciences d’Orsay (Essonne ; 2020-....) |
Mots clés
Résumé
La thèse se place dans le cadre d'analyse de sécurité de programmes Python. Elle a pour but de proposer un analyseur statique de programmes Python détectant non seulement les erreurs, mais aussi les portions de code fragiles et susceptibles d'être un vecteur d'attaque du logiciel. L'analyse pourra ensuite être utilisée pour émettre des recommandation de façon a rendre le programme plus robuste. Un problème particulier avec Python, et plus généralement avec les langages dynamiques, est l'absence totale d'information de typage. Hors, ce dernier est une aide précieuse, car il permet d'obtenir une abstraction du comportement général du programme, sans avoir à l'exécuter ce dernier. L'absence de type entraîne souvent l'utilisation, de la part des programmeurs, d'idiomes particulièrement fragiles (tests dynamiques de types, construction de code à évaluer dynamique à partir de chaînes de caractères,. . .). L'état de l'art actuel est insuffisant pour mener à bien une telle analyse car il fait l'hypothèse de programmes purs, c'est à dire sans effet de bord, ce qui n'est pas réaliste pour des langages impératifs tels que Python. On propose dans un premier temps de definir une discipline de typage prenant en compte les effets et dans un second temps d'utiliser cette dernière comme base d'une analyse statique de sécurité.