La Vérification Formelle d'Application Web
Auteur / Autrice : | Richard Casetta |
Direction : | Pierre Geneves, Nabil Layaida |
Type : | Projet de thèse |
Discipline(s) : | Mathématiques et Informatique |
Date : | Inscription en doctorat le 02/09/2024 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale mathématiques, sciences et technologies de l'information, informatique |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique de Grenoble |
Mots clés
Mots clés libres
Résumé
Les applications webs occupent une grande place dans notre quotidien. On les utilise pour prendre rendez-vous avec notre médecin, consulter nos comptes bancaires ou regarder des séries et des films. Bien que le développement d'applications webs soit en forte croissance, la qualité ne suit pas la même tendance. En effet, les projets peinent à produire des appli- cations sans bugs et même pires, en rajoutent souvent plus vite qu'ils n'en résolvent. Cela peut s'expliquer par le caractère non critique perçu dans les applications webs : l'impact d'un bug n'est souvent pas important. Cette vue historique n'est malheureusement plus vraie aujourd'hui : nous développons des applications (ou des parties d'applications) parfois cri- tiques pour le métier dont le bon fonctionnement doit être garanti. Bien que les méthodes formelles aient été inventé au tout début de l'informatique pour répondre à ce problème, leur utilisation dans l'industrie est très limitée, d'autant plus dans le domaine du web. De fait, elles sont souvent associées à une utilisation sur des projets critiques très particuliers tel que l'aviation ou le nucléaire. Malheureusement, les méthodes formelles représentent un spectre de correction, de commodité et d'utilisabilité très varié. Bien que les pionniers du domaine tel que Dijkstra voulaient prouver complètement le bon fonctionnement des applications, il existe aujourd'hui des approches automatisées qui donnent moins de garantie mais qui inversement sont facilement utilisable. Nous nous intéressons ici à ces méthodes formelles dans le domaine des applications webs. Plus spécifiquement, une étude sur le terrain montre que le caractère réactif et distribué des applications webs amène des problèmes de conception (propre aux systèmes distribués) et d'intégrations entre les composants par des contrats et des protocoles souvent implicites (propres aux applications web actuelles). Une revue de littérature sur ce sujet montre que ces deux problèmes ont été largement étudié de manière séparée. En effet, les approches du W3C qui visent à spécifier l'aspect contrat des applications webs (WSDL, WADL, OpenAPI) n'offrent pas de garantie fonctionnelle sur le système, et donc sa conception. Inversement, les approches qui visent le développement de systèmes distribués (logique temporelle, type ses- sion) sont très abstraites et n'intègrent souvent pas les problématiques des applications webs tel que l'importance de la donnée, de son format et de son stockage, les protocoles particuliers qui sont utilisés et l'utilisation de services très divers que l'on retrouve chez les fournisseurs cloud aujourd'hui. En revanche, des extensions prometteuses à des langages tel que le 𝜇- calcul avec donnée (MCL, mCRL2) nous donnent une direction prometteuse pour atteindre un juste milieu entre ces deux types d'outils afin de développer une méthode formelle adaptée aux applications webs d'aujourd'hui tout en apportant un niveau de correction acceptable par le métier. L'automatisation, critère important pour l'utilisabilité de ces méthodes dans des domaines non critiques, sera au centre de cette problématique. Le sujet de cette thèse serait ainsi le développement d'extensions et d'outils au 𝜇-calcul ainsi qu'un langage de modélisation afin de prouver les propriétés fonctionnelles des appli- cations webs pour diminuer le nombre de bugs observés sur le terrain. Pour atteindre un objectif concret, une approche avec boucle de rétroaction entre le développement d'extensions et d'outils et leur mesure sur le terrain via des critères d'acceptance pré-établis sera mise en place avec l'entreprise concernée.