Proposition de stage de recherche Master M1/M2 |
Un automate à files FIFO est un automate assez similaire syntaxiquement à un automate à piles, ne comportant que deux types de transition, enfilage et defilage d’une lettre, mais il manipule des files et non des piles. Ces automates à files permettent de modéliser le coeur de nombreux protocoles, (voir par exemple l’outil Heap-Hop[5]). Malheureusement, c’est un exemple de système infini pour lequel la plupart des questions liées à la sûreté de ces protocoles sont indécidables en général (par exemple, contrairement aux piles, une file suffit pour l’indécidabilité de la plupart des questions). Ceci a conduit à poser des restrictions sévères, rarement compatibles avec bon nombre de protocoles réalistes, pour en faire un modèle décidable.
Si l’on exclut ces restrictions, les travaux sur ce modèle ont essentiellement porté sur diverses techniques de calcul de point fixe (notamment l’accélération de boucle[1, 2], le widening[3], ou l’approche CEGAR[4]). Toutefois, ces travaux ne peuvent pas vérifier certains protocoles car le domaine abstrait, la représentation symbolique d’ensembles infinis de configurations, n’est pas assez expressif - en général, elle se ramène à un codage en langage régulier.
L’objectif de ce stage est d’étudier une classe de domaines abstraits plus riche que les langages réguliers, les Parikh Finite Automata (PFA) - intuitivement, des automates finis dans lesquels on impose des contraintes arithmétiques sur le nombre de fois où chaque transition est utilisée dans un mot accepté. Les résultats existants d’accélération d’une boucle à partir d’un PFA, ont un coût algorithmique important ce qui explique qu’aucun de ces résulats n’ait incité à les implémenter. Nous proposons de dégager la bonne notion de PFA qui serait à la fois robuste pour les calculs de point fixe et efficace d’un point de vue algorithmique. Suivant la vitesse d’avancemenent, il serait aussi envisageable d’implémenter ce domaine abstrait et de le tester sur des exemples de protocoles.
Ce document a été traduit de LATEX par HEVEA