Thèse soutenue

Etude de génération de tests à partir d'un modèle pour les systèmes GALS

FR  |  
EN
Auteur / Autrice : Lina Marsso
Direction : Radu MateescuIoannis Parissis
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 10/12/2019
Etablissement(s) : Université Grenoble Alpes (ComUE)
Ecole(s) doctorale(s) : École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de Grenoble (2007-....)
Equipe de recherche : CONVECS - Construction de Systèmes Concurrents Vérifiés
Jury : Président / Présidente : Roland Groz
Examinateurs / Examinatrices : Dumitru Potop-Butucaru, Éric Jenn
Rapporteurs / Rapporteuses : Virginie Wiels, Holger Hermanns

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

Cette thèse porte sur la génération de tests à partir d’un modèle pour les systèmes GALS (Globalement Asynchrones et Localement Synchrones). La combinaison des aspects synchrones et asynchrones en font des systèmes complexes, imposant de recourir à de nouvelles méthodes d’analyse. Pour faire face à cette complexité, nous explorons trois directions : (1) techniques pour les composants synchrones ; (2) techniques pour les protocoles de communication entre les composants ; et (3) techniques pour des systèmes GALS complets, combinant les résultats des deux directions précédentes.Dans la première direction, nous explorons des techniques formelles pour le test fonctionnel de composants synchrones. En tant qu’étude de cas, nous reprenons l’algorithme d’authentification de message (MAA), une fonction cryptographique conçue au milieu des années 80. Nous formalisons cet algorithme en tant que flux de données synchrone. La modélisation et la validation du MAA nous ont permis de découvrir diverses erreurs dans les spécifications (informelles et formelles) préalables du MAA, les vecteurs de test et code des normes ISO 1987 et ISO 1990 ; dans les compilateurs et outils de vérification que nous avons utilisés.Dans la seconde direction, nous explorons la formalisation et le test fonctionnel d’un protocole de communication. Dans notre étude de cas, nous évaluons le protocole d’établissement d’une liaison sécurisé au niveau de la couche de transport (TLS), responsable de l’authentification et de l’échange de clés nécessaires pour établir ou reprendre une communication sécurisée. Notre modèle de la version 1.3 TLS a été validé par une approche utilisant notre nouvel outil de génération de cas de test de conformité à la volée, nommé TESTOR, développé à partir de la boı̂te à outils CADP. Cet outil explore le modèle et génère automatiquement un ensemble de cas de tests ou un graphe de test complet (CTG),à exécuter sur une implémentation physique d’un système.Dans la troisième direction, nous proposons une méthodologie de test permettant d’analyser les systèmes GALS dans leur ensemble. Nous tirons parti de la génération de tests de conformité des systèmes asynchrones pour dériver automatiquement des scénarios réalistes (contraintes d’entrées et oracles), qui sont ardus à concevoir manuellement et sujet d’erreurs. Ainsi, notre méthodologie intègre (1) modèles concurrents synchrones et asynchrones; (2) les tests unitaires fonctionnels et les tests de conformité comportementale; et (3) diverses méthodes formelles et leurs outils. Nous illustrons notre méthodologie sur un exemple simple, mais représentatif inspiré des voitures autonomes.