Automatisation de tests de conformité de systèmes distribués

par Erwan Mahe

Projet de thèse en Informatique

Sous la direction de Pascale Le gall.

Thèses en préparation à université Paris-Saclay , dans le cadre de École doctorale INTERFACES : approches interdisciplinaires, fondements, applications et innovation , en partenariat avec Mathématiques et Informatique pour la Complexité et les Systèmes - EA 4037 (laboratoire) et de CentraleSupélec (référent) depuis le 01-01-2018 .


  • Résumé

    Les systèmes distribués, tels que les systèmes de télécommunication, ou ceux construits sur l'Internet des objets, sont très présents. Ils sont caractérisés par le fait que les points d'interaction de ces systèmes avec leur environnement sont très indépendants (différents acteurs, distance géographique...). L'automatisation du test des systèmes distribués est confrontée à deux verrous essentiels, connus sous le nom d'observabilité et de contrôlabilité. Par nature, les systèmes distribués mettent en jeu de nombreuses communications internes entre les sous-systèmes distants : selon que l'instrumentation de test ait accès à l'observation de ces communications internes ainsi qu'à l'observation des interactions distantes du système avec l'environnement, l'analyse du bon comportement du système au regard des attentes exprimées par une spécification de référence est connu sous le nom du problème de l'oracle. La distance entre les sous-systèmes, et la maîtrise des temps de communication, introduit une difficulté de coordination des actions distantes pour contrôler les scénarios sollicités par l'instrumentation de test en vue de cibler un objectif de test exprimé sous la forme d'un scénario client. Le sujet central de la thèse est l'automatisation de l'analyse des comportements d'un système distribué sous test, en se basant sur une spécification exécutable du système, donnée sous la forme de systèmes de transition munis de techniques d'exécution symbolique, reconnues pour leur efficacité à parcourir les familles de comportements caractéristiques. Les principales contributions attendues concernent les problématiques suivantes : - Dès lors qu'il s'agit de systèmes distribués, il est difficile de supposer que les observations recueillies à chaque point d'interaction distant démarrent à l'initialisation du système (instant 'reset'). En pratique, rien n'indique quelles sont les conditions initiales qui prévalent à l'observation des traces distantes. Il s'agira donc d'être capable d'analyser des observations même sans hypothèses d'initialisation - Les observations des systèmes distribués se présentent sous la forme d'une collection de traces temporisées d'actions (émissions ou réceptions de messages), une par point géographiquement distant, qui peuvent être de longueurs conséquentes. L'enjeu est de définir un outillage d'analyse de ces traces qui contourne l'explosion combinatoire inhérente à la taille des systèmes et des observations. Plusieurs pistes sont envisageables : définir une approche modulaire de la vérification, en lien avec la structure du système ; appliquer des mécanismes d'abstraction sur les observations concrètes collectées sur le système distribué afin de simplifier les analyses, etc. Le projet FUI DisTA fournira des cas d'étude de taille significative.

  • Titre traduit

    Automated conformance testing for distributed systems


  • Résumé

    Distributed systems such as telecommunication or IoT systems are increasingly common. Those are notably characterized by the large independence between the points where they interact with their environment (semi-autonomous sub-systems, large geographical distances...). Two main factors block the automation of testing for distributed systems : observability and controllability. Distributed systems involve internal communication between distant sub-systems. The assessment of correctness of the system's behavior compared with a reference specification and through the analysis of communication events (both within and without it i.e. with the environment) is known as the oracle problem. Spatial and temporal considerations which are unique to distributed systems introduce an added difficulty in the coordination of stimulations in order to control test scenarios targeting given test purposes. The main topic of this thesis is the automation of behavioral analysis for distributed systems, based on specifications in the form of state-transition systems and using symbolic execution techniques. Expected contributions notably cover : - The complexity of the studied systems often renders utopic the fact of having each test start when the system is in an 'initial' state as both the definition of the 'initial' state and its recognition is problematic. Consequently we aim at developing an ability to analyze observations and solve the oracle problem without a 'reset' hypothesis. - The communication trace of a distributed system is not a single sequence of timed events but a collection of sequences, each corresponding to a semi-autonomous sub-system. This complexification of the object of study can be further worsened by a variety of side effects such as an initial asynchronicity of internal clocks, clock drifts and so on. One of the stakes of this thesis is to develop reliable trace analysis tools that can overcome those issues while avoiding combinatorial explosion. Several options will be explored such as defining a modular verification, tied to the structure of the system, applying abstraction mechanisms on the collected observations in order to simplify the analysis and so on. The FUI project DisTA will provide concrete, industrial-scaled applications enabling empirical proof of concepts for the developed tools and methods.