GT "Méthodes de test pour la validation et la vérification" (MTV2 )

Last modified by Nikolai Kosmatov on 2022/06/07 21:37

Objectifs

Le groupe MTV2 s'intéresse à la validation et la vérification des logiciels par des techniques de test. Les partenaires impliqués couvrent un large spectre de techniques de test et  domaines d'application. L'expertise du groupe permet d'aborder des méthodes de test fonctionnel (test « boîte-noire »,) et de test structurel (test « boîte-blanche »). Les techniques de test « boîte-grise » (e.g. les techniques de génération massive de test, ou le fuzzing) deviennent aussi de plus en plus populaires,  et sont aussi abordées par des membres du groupe. Au niveau de la couverture de fautes, le test mutationnel offre une bonne stratégie pour évaluer la qualité d’une suite de tests.

Dans le cadre du test « boîte-noire », il s’agit de valider le système sous test en stimulant et observant uniquement ses interfaces associées. Les techniques de génération de test incluent différentes stratégies, à partir de tests aléatoires ou « fuzzy » aux tests basés sur les modèles formels ou semi-formels, où une couverture de fautes peut être garantie et/ou une relation de conformité peut être définie. Dans ce dernier cas, le modèle lui-même doit être scrupuleusement validé. Les techniques de vérification de modèles sont utilisées à des fins de génération de tests, comme l'exécution symbolique ou les techniques de model-checking.

Dans le cadre du test « boîte-blanche », le groupe s'intéresse à la spécification et la couverture des objectifs de test (notamment, à travers des critères de couverture de test). Puisque le code du système sous test est (partiellement) accessible, le groupe étudie des combinaisons avec différentes techniques de vérification telles que la vérification déductive, l’analyse statique ou la vérification à l'exécution des assertions.

Comme  les interfaces du système sous test ne sont pas toujours accessibles, le groupe contribue également aux techniques du test « en contexte »  ce qui permet d'apporter une réponse à la complexité croissante des logiciels. Ce problème peut également être abordé lors de l'exécution du test ; en conséquence, on considère le test non intrusif basé sur le monitoring.

Différents volets du test sont pris en compte, allant du  test unitaire au test  système, en ciblant par exemple le test conformité, de sécurité, d'intégration, de performances, de régression, de robustesse, de montée en charge, etc. Ainsi, le groupe contribue aux tests par rapport à la fois aux exigences fonctionnelles et non fonctionnelles. Différents domaines d’application sont considérés, e.g. les systèmes embarqués, les systèmes distribués tels que les applications web ou IoT, les systèmes cyberphysiques, les smartgrids.

Quel que soit l’objectif du test, il est toujours essentiel d’automatiser au maximum le procédé, de minimiser le nombre de séquences de test ainsi que d’optimiser le processus d’exécution de test. On compte sur des techniques de sélection et de priorisation des tests ainsi que sur des techniques de génération de tests. La détection d’objectifs de tests infaisables est un autre sujet de recherche, qui s’appuie souvent sur des techniques d’analyse statique.

Compte tenu du développement rapide des méthodes du domaine de l’intelligence artificielle, des travaux du groupe utilisent de telles techniques. Des exemples de telles utilisations incluent l'apprentissage du modèle (learning), les approches de reverse engineering, la résolution par contraintes, les algorithmes génétiques, ou encore la génération ou la priorisation de séquences de test. Plus globalement, des équipes du groupe commencent à s’intéresser à la validation de systèmes IA comme par exemple les réseaux de neurones.

Enfin, le groupe aborde la mise en œuvre de langages de spécification et d'outils pour la mise en oeuvre des techniques développées. Les partenaires industriels évaluent leur utilisation dans le contexte réel, étudient la pertinence des différents critères de couverture et communiquent au groupe leurs retours d’expérience et leurs besoins pour assurer efficacement la qualité des logiciels utilisés.

Mots clés :

test des logiciels, test à base de modèles, test boîte-noire, test boîte-blanche, fuzzing, sélection de tests, priorisation de tests, critères de couverture de test, outils de test, combinaisons d’analyses dynamique et statique, monitoring, vérification à l’exécution.

Porteurs du GT

  • Nikolaï KOSMATOV, CEA List & THALES, mél : nikolaikosmatov (at) gmail (dot) com
  • Pascale LE GALL, CentraleSupélec, mél : pascale.legall  (at) centralesupelec (dot) fr
  • Natalia KUSHIK, TSP, mél : natalia.kushik  (at) telecom-sudparis (dot) eu
  • Antoine ROLLET, LaBRI, mél : antoine.rollet  (at) labri (dot) fr

Précision : pendant la période de transition, les anciens responsables MTV2, Nikolaï et Pascale, et les nouveaux responsables,  Antoine et Natalia, vont animer le GT ensemble.

Animations

  • Création d'une liste de diffusion pour animer le groupe
  • Une journée de travail annuelle (en plus des journées du GDR GPL) avec des présentations et posters présentés par des membres du GT, des sessions industrielles et des invités étrangers, experts du domaine, qui donneront des présentations invitées
  • Session MTV2 commune avec AFADL lors des journées GDR GPL
  • Encourager la participation des étudiants du GDR aux conférence internationales lorsqu'elles sont organisées en France en proposant des bourses (avec accord du GDR)
  • Encourager les liens entre les équipes du GT : échange d'étudiants, communications sur des faits marquants sur la liste de diffusion

Equipes

 Les équipes impliquées, sont : 

  • groupe Test de l’équipe VALS, laboratoire LRI, CNRS, Université Paris-Sud, CentraleSupelec
    • Nombre de permanents impliqués: 3
    • Contact MTV2: Burkhart Wolff
  • groupe VPS (Validation des Protocoles et Services) de l’équipe METHODES, laboratoire SAMOVAR, Telecom SudParis
    • Nombre de permanents impliqués: 3
    • Contact MTV2: Stéphane Maag
  • équipe PACSS, laboratoire VERIMAG, Université Grenoble-Alpes / Grenoble INP
    • Nombre de permanents impliqués: 4
    • Contact MTV2: Laurent Mounier
  • équipe CORSE (Compiler Optimization and Run-time SystEms), laboratoire LIG (Laboratoire d’Informatique de Grenoble), Université Grenoble Alpes, Grenoble INP, CNRS, Inria
    • Nombre de permanents impliqués: 6
    • Contact MTV2: Yliès Falcone
  • équipe VASCO (VAlidation de Systèmes, Composants et Objets), laboratoire LIG (Laboratoire d’Informatique de Grenoble), Université Grenoble Alpes, Grenoble INP, CNRS
    • Nombre de permanents impliqués: 5
    • Contact MTV2: Yves Ledru
  • équipe CTSYS (Sécurité des systèmes embarqués et distribués critiques), laboratoire LCIS (Laboratoire de Conception et d’Intégration des systèmes), Grenoble INP, Université Grenoble Alpes, Valence
    • Nombre de permanents impliqués: 9
    • Contact MTV2: Ioannis Parissis
  • équipe SUMO, laboratoire Irisa-Inria Rennes – Bretagne Atlantique, Inria/CNRS/Univ Rennes 1
    • Nombre de permanents impliqués: 2
    • Contact MTV2: Thierry Jéron
  • groupe Test de l’équipe TSF (Tolérance aux fautes et Sûreté de Fonctionnement Informatique), laboratoire LAAS, CNRS, Toulouse
    • Nombre de permanents impliqués: 2
    • Contact MTV2: Hélène Waeselynck
  • équipe LOGIMICS, laboratoire MICS, CentraleSupélec
    • Nombre de permanents impliqués: 7
    • Contact MTV2: Pascale Le Gall
  • équipe DILS (Département Ingénierie Logiciels et Systèmes), Institut CEA List, CEA, Saclay
    • Nombre de permanents impliqués: 10
    • Contact MTV2: Boutheina Bannour
  • équipe MF (Méthodes Formelles), laboratoire LaBRI, CNRS, Université de Bordeaux / Bordeaux INP
    • Nombre de permanents impliqués: 3
    • Contact MTV2: Antoine Rollet
  • équipe VESONTIO, laboratoire FEMTO-ST, DISC (Département Informatique des Systèmes Complexes), Université Bourgogne Franche-Comté, CNRS
    • Nombre de permanents impliqués: 8
    • Contact MTV2: Frédéric Dadeau
  • thème DSI (Données, services, intelligence) de l’équipe SIC (Systèmes d’Information et de Communication), laboratoire LIMOS, CNRS (UMR 6158), Université Clermont Auvergne, Ecole Nationale Supérieure des Mines de Saint-Etienne (EMSE)
    • Nombre de permanents impliqués: 2
    • Contact MTV2: Sébastien Salva
  • équipe DIVERSE, laboratoire Irisa, Univ. Rennes 1, Inria, CNRS
    • Nombre de permanents impliqués: à préciser
    • Contact MTV2: Olivier Barais

Des équipes industrielles associées : 

  • groupe Méthode Formelles du laboratoire  LSEC (Laboratoire Systèmes Embarqués Critiques) de Thales Recherche et Technologie à Palaiseau
    • Nombre de permanents impliqués: 3
    • Contact MTV2: Nikolai Kosmatov
  • société Montimage à Paris
    • Nombre de permanents impliqués: 8
    • Contact MTV2: Ana Cavalli
  • équipe INS de Mitsubishi Electric R&D Centre Europe (MERCE) à Rennes
    • Nombre de permanents impliqués: 5
    • Contact MTV2: David Mentré

Interactions

Le GT MTV2 aura des intéractions et actions communes avec les GT "Langages et vérification de programmes" (LVP) et "Méthodes Formelles et Programmation Haute Fidélité pour Systèmes Critiques Émergents" (HIFI). Notamment, des journées de travail communes ou co-localisées seront organisées. Les GTs vont participer ensemble à l'atelier AFADL. Des intéractions avec le GT "Génie Logiciel et Intelligence Artificielle" (GLIA) sont aussi prévues.