Méthodes de Test pour la Vérification et la Validation


Le groupe MTV2


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.


Equipes membres de MTV2


  • groupe Test de l’équipe VALS, laboratoire LRI, CNRS, Université Paris-Sud, CentraleSupelec

  • groupe VPS (Validation des Protocoles et Services) de l’équipe METHODES, laboratoire SAMOVAR, Telecom SudParis

  • équipe PACSS, laboratoire VERIMAG, Université Grenoble-Alpes / Grenoble INP

  • équipe CORSE (Compiler Optimization and Run-time SystEms), laboratoire LIG (Laboratoire d’Informatique de Grenoble), Université Grenoble Alpes, Grenoble INP, CNRS, Inria

  • équipe VASCO (VAlidation de Systèmes, Composants et Objets), laboratoire LIG (Laboratoire d’Informatique de Grenoble), Université Grenoble Alpes, Grenoble INP, CNRS

  • é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

  • équipe SUMO, laboratoire Irisa-Inria Rennes – Bretagne Atlantique, Inria/CNRS/Univ Rennes 1

  • groupe Test de l’équipe TSF (Tolérance aux fautes et Sûreté de Fonctionnement Informatique), laboratoire LAAS, CNRS, Toulouse

  • équipe LOGIMICS, laboratoire MICS, CentraleSupélec

  • équipe DILS (Département Ingénierie Logiciels et Systèmes), Institut CEA List, CEA, Saclay

  • équipe MF (Méthodes Formelles), laboratoire LaBRI, CNRS, Université de Bordeaux / Bordeaux INP

  • équipe VESONTIO, laboratoire FEMTO-ST, DISC (Département Informatique des Systèmes Complexes), Université Bourgogne Franche-Comté, CNRS

  • 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)

  • équipe DIVERSE, laboratoire Irisa, Univ. Rennes 1, Inria, CNRS

Des équipes industrielles associées :

  • groupe Méthode Formelles du laboratoire LSEC (Laboratoire Systèmes Embarqués Critiques) de Thales Recherche et Technologie à Palaiseau

  • société Montimage à Paris

  • équipe INS de Mitsubishi Electric R&D Centre Europe (MERCE) à Rennes


Animateurs du groupe MTV2

Nikolai Kosmatov, Natalia Kushik, Pascale Le Gall, Antoine Rollet