Exploration concrétisée et pertinente de systèmes d'événements abstraits en vue de la génération automatique de tests

par Guillaume Voiron

Thèse de doctorat en Informatique

Sous la direction de Jacques Julliand et de Pierre-Alain Masson.

Soutenue le 27-09-2019

à Bourgogne Franche-Comté , dans le cadre de SPIM - Sciences Physiques pour l'Ingénieur et Microtechniques , en partenariat avec FEMTO-ST : Franche-Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (Besançon) (laboratoire) , Université de Franche-Comté (Etablissement de préparation) et de Franche-Comté Électronique Mécanique- Thermique et Optique - Sciences et Technologies (UMR 6174) / FEMTO-ST (laboratoire) .

Le président du jury était Olga Kouchnarenko.

Le jury était composé de Jacques Julliand, Pierre-Alain Masson, Olga Kouchnarenko, Pascale Le Gall, Yves Ledru, Nikolaï Kosmatov.

Les rapporteurs étaient Pascale Le Gall, Yves Ledru.


  • Résumé

    Les travaux présentés dans cette thèse constituent une contribution aux méthodes de génération automatique de sous-approximations en vue de la génération de tests a` partir de modèles. Le test à partir de modèle a pour objectif de garantir la conformité d’une implémentation vis-à-vis d’un modèle, tous les deux conçus à partir des spécifications par deux équipes différentes.Dans cette thèse, nous proposons l’utilisation des techniques connues d’abstraction à partir de prédicats de modèles comportementaux qui permettent de réduire à un ensemble fini et restreint l’espace d’états manipulé. Nous proposons d’extraire les prédicats d’abstraction à partir de l’objectif de test afin que les tests générés couvrent les comportements ciblés par ce dernier. Cependant, le calcul d’une abstraction entraîne une perte d’information de l’atteignabilité par rapport au modèle initial. Nos objectifs sont donc dans un premier temps de calculer efficacement une abstraction de modèle aussi représentative que possible d’un objectif de test. Dans un second temps, nous cherchons a` extraire a` partir de cette abstraction des exécutions instanciables sur le modèle avant abstraction, ciblant les comportements a` tester, et visant la couverture des états et des transitions du modèle abstrait.Nos contributions sont les suivantes. Nous définissons une méthode de génération de tests combinant plusieurs algorithmes qui permettent d’obtenir une bonne couverture structurelle d’une abstraction de modèle comportemental non déterministe. Nous proposons dans un premier temps un algorithme calculant une abstraction de modèle par prédicats issus d’un objectif de test exprime´ sous la forme d’une propriétée temporelle. Cet algorithme calcule une sous-approximation du modèle en couvrant les états et les transitions abstraits du modèle. Il applique plusieurs heuristiques et diverses techniques d’exploration ayant pour but d’augmenter le nombre d’instances effectivement atteintes. Dans un second temps, nous proposons d’améliorer par le biais de deux autres algorithmes la couverture structurelle obtenue par cette première sous-approximation. Le premier, entièrement automatisé, tire parti des modalités des transitions abstraites qui fournissent des propriétés d’atteignabilité. Le second algorithme d’extension de la sous-approximation fait appel à l’expertise du testeur qui doit, a` partir des transitions non couvertes, énoncer un prédicat de pertinence qui guide et limite l’exploration et l’instanciation réalisées. Nous définissons un ensemble de règles permettant d’énoncer ce prédicat de pertinence et de calculer un variant garantissant la terminaison de l’algorithme d’exploration. Ces deux algorithmes complètent la sous-approximation obtenue auparavant par des exécutions instanciables. Enfin, nous mettons en œuvre une démarche expérimentale pour l’évaluation de la qualité de la méthode, portant sur cinq études de cas.

  • Titre traduit

    concrete and relevant exploration of abstract event systems for automatic tests generation


  • Résumé

    The work presented in this thesis contributes to the automated under-approximation generation techniques in order to generate tests from models.Model based testing aims at guaranteeing the conformity of an implementation with regards to a model, both designed from specifications by two distinct teams.In this thesis, we propose to use well known abstraction techniques by using predicates extracted from behavioural models allowing to reduce the manipulated state space to a finite and narrow set. We propose to extract the abstraction predicates from the test purpose so that the generated tests cover the behaviours it targets. However, the computation of an abstraction causes a loss of information of the reachability with regards to the initial model. Our goals are, on the one hand, to efficiently compute an abstraction of the model as representative as possible of a test purpose. On the other hand, we strive to extract executions from this abstraction which can be instanciated on the model before its abstraction, targeting the behaviours to test, and aiming at covering the states and the transitions of the abstracted model.Our contributions are the following. We define a test generation method combining various algorithms allowing to obtain a good structural coverage of the abstraction of a non deterministic behavioural model. We first propose an algorithm computing the abstraction of a model using predicates extracted from a test purpose expressed as a temporal property. This algorithm computes an under-approximation of the model by covering the abstract states and transitions of the model. It applies various exploration heuristics and techniques with the aim of increasing the amount of reached instances. Then, we propose to improve by the means of two other algorithms the structural coverage obtained by this first under-approximation. The first of these algorithms, fully automated, takes advantage of the known modalities of the abstract transitions which provide us with reachability properties. The second under-approximation extension algorithm uses the expertise of the tester who must, from non covered transitions, design a relevance predicate which will guide and limit the exploration and the instanciations. We define a set of rules allowing to express this relevance predicate and compute a variant guaranteeing the termination of the exploration algorithm. These two algorithms complete the under-approximation by necessarily instanciable executions. Finally, we experimentally assess the quality of the method on five case studies.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Bibliothèque universitaire électronique, Besançon.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.