Thèse soutenue

Vérification de systèmes infinis et apprentissage automatique

FR  |  
EN
Auteur / Autrice : Igor Khmelnitsky
Direction : Serge HaddadAlain Finkel
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 27/01/2022
Etablissement(s) : université Paris-Saclay
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication
Partenaire(s) de recherche : référent : École normale supérieure Paris-Saclay (Gif-sur-Yvette, Essonne ; 1912-....)
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-....)
Laboratoire : Laboratoire Méthodes formelles (Gif-sur-Yvette, Essonne ; 2021-....)
Jury : Président / Présidente : Patricia Bouyer-Decitre
Examinateurs / Examinatrices : Javier Esparza, Ranko Lazic, Dana Fisman, Laure Petrucci, Pierre-Alain Reynier
Rapporteurs / Rapporteuses : Javier Esparza, Ranko Lazic

Résumé

FR  |  
EN

Cette thèse contient trois parties. La première est consacrée à la vérification des réseaux de Petri, la seconde à la vérification des réseaux de Petri récursifs qui étendent les réseaux de Petri et la dernière combine l'apprentissage actif et la vérification.Un réseau de Petri peut être analysé en calculant et étudiant son Clover, la représentation canonique de la sur-approximation vers le bas de son ensemble d'accessibilité. A l'aide de l'algorithme de Karp-Miller on peut calculer le Clover, mais cet algorithme est très inefficace et sa preuve originelle de correction n'est pas satisfaisante.Il y a de nombreuses variantes de cet algorithme mais certaines sont incomplètes et d'autres requièrent une mémoire additionnelle de taille potentiellement ackermannienne. Enfin les preuves de correction sont souvent intriquées.Notre première contribution est la conception d'un algorithme complet incluant une borne théorique sur la taille de la mémoire additionelle.L'idée clef de cet algorithme est l'introduction d'un nouveau concept, appelé accélération.Plus précisément à l'aide des accélérations, nous avons pu:1. simplifier la preuve de correction de l'algorithme de Karp-Miller;2. présenter la première modification simple de l'algorithme incomplet de construction du ``Minimal Coverability Tree''. 3. prouver que la mémoire supplémentaire requise par notre algorithme est élémentaire (2-EXPSPACE);4. développer un prototype MinCov et de montrer expérimentalement qu'il est l'outil le plus efficace parmi ceux qui calculent le Clover.Au début des années 2000, les réseaux de Petri récursifs (RPN) ont été introduits en vue de la modélisation et de l'analyse de la planification distribuée de systèmes multi-agents pour lesquels la présence de compteurs et la recursivité sont nécessaires.Bien que les RPN étendent strictement les réseaux de Petri et les grammaires algébriques, la plupart des problèmes usuels(accessibilité, terminaison, etc.) restent décidables. Pour presque tous les modèles incluant les réseaux de Petri et les grammaires algébriques, la complexité des problèmes de la couverture et de la terminaison est inconnue ou strictement plus grande que EXPSPACE. Ici, nous montrons que les problèmes de couverture, terminaison, caractère borné et finitude des RPN sont EXPSPACE-complets comme ceux des réseaux de Petri. Bien qu'ayant un grand pouvoir d'expression, les RPN souffrent de plusieurs limitations en terme de modélisation.Aussi nous introduisons les réseaux de Petri récursifs dynamiques (DRPN) qui répondent à ces limitations et donc étendent le pouvoir d'expression des RPN.Les DRPN généralisent presque toutes les extensions de réseaux de Petri pour lesquelles le problème de couverture est décidable.Nous démontrons alors que le problème de couverture reste décidable pour les DRPN.Dans la troisième partie, notre travail se concentre sur l'algorithme L* d'AngluinL.Cet algorithme apprend l'automate fini déterministe (DFA) minimal d'un langage régulier à l'aide de questions d'appartenance et d'équivalence de langages. Sa version probabilistiquement approximativement correcte (PAC) remplace une question d'équivalence par un ensemble de questions aléatoires d'appartenance. Nous avons étudié comment la PAC version se comporte pour des machines qui sont obtenues en ``bruitant''un DFA et si l'algorithme réduit le bruit.Nous établissons que la réduction du bruit dépend fortement de la nature du bruit et de sa quantité.De plus, nous utilisons cet algorithme pour développer une approche de vérification des réseaux neuronaux récurrents (RNN).Un DFA est appris comme une abstraction d'un RNN puis analysé à l'aide de techniques de ``model checking''.Nous établissons deux avantages de cette approche : lorsque la propriété n'est pas vérifiée les contre-exemples exhibés sont de petite taille et susceptibles d'être généralisés en un patron d'erreur mettant en évidence la nature de la faute du RNN.