Thèse soutenue

Génération de cas de test pour les modèles symboliques de système distribués : Application au protocole IoT à base de Trickle

FR  |  
EN
Auteur / Autrice : Ngo Minh Thang Nguyen
Direction : Pascale Le Gall
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 16/12/2019
Etablissement(s) : Université Paris-Saclay (ComUE)
Ecole(s) doctorale(s) : École doctorale Interfaces : matériaux, systèmes, usages (Palaiseau, Essonne ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Mathématiques et informatique pour la complexité et les systèmes (Gif-sur-Yvette, Essonne ; 2006-....)
établissement opérateur d'inscription : CentraleSupélec (2015-....)
Jury : Président / Présidente : Stéphane Maag
Examinateurs / Examinatrices : Frédéric Mallet, Antoine Rollet, Boutheina Bannour
Rapporteurs / Rapporteuses : Frédéric Mallet, Antoine Rollet

Résumé

FR  |  
EN

Les systèmes distribués sont composés de nombreux sous-systèmes distants les uns des autres. Afin de réaliser une même tâche, les sous-systèmes communiquent à la fois avec l’environnement par des messages externes et avec d’autres sous-systèmes par des messages internes, via un réseau de communication. En pratique, les systèmes distribués mettent en jeu plusieurs types d’erreurs, propres aux sous-systèmes les constituant, ou en lien avec les communications internes. Afin de s’assurer de leur bon fonctionnement, savoir tester de tels systèmes est essentiel. Cependant, il est très compliqué de les tester car sans horloge globale, les sous-systèmes ne peuvent pas facilement synchroniser leurs envois de messages, ce qui explique l’existence des situations non déterministes. Le test à base de modèles (MBT) est une approche qui consiste à vérifier si le comportement d’un système sous test (SUT) est conforme à son modèle, qui spécifie les comportements souhaités. MBT comprend deux étapes principales: la génération de cas de test et le calcul de verdict. Dans cette thèse, nous nous intéressons à la génération de cas de test dans les systèmes distribués. Nous utilisons les systèmes de transition symbolique temporisé à entrées et sorties (TIOSTS) et les analysons à l’aide des techniques d’exécution symbolique pour obtenir les comportements symboliques du système distribué. Dans notre approche, l’architecture de test permet d’observer au niveau de chaque soussystème à la fois les messages externes émis vers l’environnement et les messages internes reçus et envoyés. Notre framework de test comprend plusieurs étapes: sélectionner un objectif de test global, défini comme un comportement particulier exhibé par exécution symbolique, projeter l’objectif de test global sur chaque sous-système pour obtenir des objectifs de test locaux, dériver des cas de test unitaires pour chacun des sous-systèmes. L’exécution du test consiste à exécuter des cas de test locaux sur les sous-systèmes paramétrés par les objectifs de tests en calculant à la volée les données de test à soumettre au sous-système en fonction de données observées. Enfin, nous mettons en œuvre notre approche sur un cas d’étude décrivant un protocole utilisé dans le contexte de l’IoT.