CE25 - Infrastructures de communication hautes performances (réseau, calcul et stockage), Sciences et technologies logicielles

Support des critères de test avancés pour les logiciels robustes et sécurisés – SATOCROSS

SATOCROSS

Support des critères de test avancés pour les logiciels robustes et sécurisés

Aider à la mise en place de processus automatisés de test pour toutes sortes de critères de couverture

Les pratiques du test logiciel ont subi des changements rapides au cours des dernières années. Cela peut être attribué à une large adoption des méthodes agiles (e.g. intégration continue ou développement guidé par le test) qui placent le test au centre du développement logiciel. Pour mieux choisir les cas de test exécutés, la communauté a défini des critères d'arrêt tels que la couverture. Les critères de couverture ont un rôle essentiel dans le processus de test en boîte blanche car ils sont utilisés par les outils de test à la fois pour guider la génération de cas de test, pour décider quand la génération doit s’arrêter et pour démontrer la qualité d’une suite de test. Le support des critères de test avancés (tels que le test aux limites, MCDC, les critères à base de flot de données, etc.) est particulièrement important pour les applications critiques. Par exemple, dans les domaines réglementés comme l’aéronautique, les critères de test font partie des exigences. Dans d’autres domaines, les critères de couverture sont reconnus comme une bonne pratique pour le test, et une composante clef du développement guidé par le test.<br /><br />Les outils de test existants ne gèrent qu’un nombre limité de critères de test, en les intégrant de façon non générique, codé en dur. Par conséquent, dans la pratique industrielle courante, différents outils sont nécessaires pour différents critères de couverture. De plus, dans l’industrie, très souvent la sélection de données de test se fait manuellement suivant des critères informels, basés sur l’expérience des ingénieurs test dans un domaine particulier. Dans ce cas, les critères de test ne sont ni formalisés ni gérés automatiquement par les outils de test.<br /><br />Le principal but du projet SATOCROSS consiste à améliorer la pratique du test en reliant, d’un côté, le potentiel de tout un ensemble de travaux de recherche académique sur les critères de couverture de test et, de l’autre côté, leur utilisation limitée dans l’industrie.

Le consortium inclut deux partenaires académiques : l’institut List de CEA Tech (CEA) et Interdisciplinary Centre for Security, Reliability and Trust (SnT) de l’Université de Luxembourg (UL), ainsi qu’un partenaire industriel : MERCE (Mitsubishi Electric). Les précédentes collaborations entre les partenaires ont clairement démontré les avantages d’une approche générique, et ont proposé des premières solutions de génération et d’optimisation de suite de test pour un petit ensemble de critères. Cette collaboration a permis de construire un programme de recherche ambitieux et motivé ce projet.

Les partenaires vont concevoir des techniques de test, à la fois génériques et efficaces, pour tous les services clefs de test : génération de cas de test, détection des objectifs de test polluants (e.g. inutiles) et évaluation de couverture. Le projet va gérer une large classe de critères importants pour la pratique industrielle. Une attention particulière sera portée au paradigm de développement continu. Le projet fournira ces outils sous forme d’un toolkit intégré qui sera évalué sur des codes réels fournis par le partenaire industriel. Enfin, le projet va établir des recommandations d’application industrielle afin de faciliter l’application des résultats du projet dans l’industrie.

Target coverage criteria and test optimization objectives (rapport)
Strategies for exhaustive branch coverage (rapport)

Les principales retombées du projet seront de nature scientifique, technologique et industrielle. SATOCROSS vise le développement d’une technologie de pointe dans le domaine du test logiciel. Elle aura le potentiel d’avoir un impact majeur sur la pratique du développement logiciel, et plus généralement sur l’industrie du logiciel et la société. Les outils open-source, publications et rapports produits par les partenaires vont améliorer l’automatisation du test et fournir à un large spectre d'utilisateurs des moyens améliorés pour développer et maintenir des logiciels fiables. Notamment, le test logiciel et des solutions dédiées pour l'intégration continue contribuent à la culture DevOps et fournissent des avantages compétitifs majeurs (tels qu'une diminution du time-to-market et une amélioration de la qualité et robustesse du logiciel). SATOCROSS vise l'étape à la fois centrale et la plus chère de l'intégration continue (le test logiciel) et par conséquent détient le potentiel d'impacter directement l'industrie de développment logiciel.

Thibault Martin, Nikolai Kosmatov, Virgile Prevosto, Matthieu Lemerre. Detection of Polluting Test Objectives for Dataflow Criteria.
In Proc.16th International Conference on Integrated Formal Methods (iFM) 16-20 November, 2020, Lugano, Switzerland, Lecture Notes in Computer Science, Springer, In press. ?cea-02974228?

Facundo Molina, Renzo Degiovanni, Pablo Ponzio, Germán Regis, Nazareno Aguirre, Marcelo F. Frias
Training binary classifiers as data structure invariants.
ICSE 2019: 759-770

Facundo Molina, César Cornejo, Renzo Degiovanni, Germán Regis, Pablo F. Castro, Nazareno Aguirre, Marcelo F. Frias
An evolutionary approach to translating operational specifications into declarative specifications.
Sci. Comput. Program. 181: 47-63 (2019)

Virgile Robles, Nikolai Kosmatov, Virgile Prévosto, Louis Rilling, Pascale Le Gall.
Tame your annotations with MetAcsl: Specifying, Testing and Proving High-Level Properties.
International Conference on Tests and Proofs (TAP), Oct 2019, Porto, Portugal. ?10.1007/978-3-030-31157-5_11?. ?cea-02301892?

Les pratiques du test logiciel ont subi des changements rapides au cours des dernières années. Cela peut être attribué à une large adoption des méthodes agiles (e.g. intégration continue ou développement guidé par le test) qui placent le test au centre du développement logiciel. La communauté a défini des critères de couverture de test qui ont un rôle essentiel dans le processus de test en boîte blanche car ils sont utilisés par les outils de test à la fois pour guider la génération de cas de test, pour décider quand la génération doit s’arrêter et pour démontrer la qualité d’une suite de test. Le support des critères de test avancés (tels que le test aux limites, MCDC, les critères à base de flot de données, etc.) est particulièrement important pour les applications critiques. Par exemple, dans les domaines réglementés comme l’aéronautique, les critères de test avancés font partie des exigences strictes que l’ingénieur test doit satisfaire avant de fournir le logiciel. Dans d’autres domaines, les critères de couverture sont reconnus comme une bonne pratique pour le test, et une composante clef du développement guidé par le test.

Les outils de test existants ne gère qu’un nombre limité de critères de test, en les intégrant de façon non générique, codés en dur. Par conséquent, dans la pratique industrielle courante, différents outils sont nécessaires pour différents critères de couverture. De plus, dans l’industrie, très souvent la sélection de données de test se fait manuellement suivant des critères informels, basés sur l’expérience des ingénieurs test dans un domaine particulier. Dans ce cas, les critères de test ne sont ni formalisés ni gérés automatiquement par les outils de test.

Le principal but du projet SATOCROSS (Support des critères de test avancés pour les logiciels robustes et sécurisés) consiste à améliorer la pratique du test en reliant, d’un côté, le potentiel de tout un ensemble de travaux de recherche académique sur les critères de couverture de test et, de l’autre côté, leur utilisation limitée dans l’industrie. Le consortium inclut deux partenaires académiques : l’institut List de CEA Tech (CEA) et Interdisciplinary Centre for Security, Reliability and Trust (SnT) de l’Université de Luxembourg (UL), ainsi qu’un partenaire industriel : MERCE (Mitsubishi Electric). Les précédentes collaborations entre les partenaires ont clairement démontré les avantages d’une approche générique, et ont proposé des premières solutions de génération et d’optimisation de suite de test pour un petit ensemble de critères. Cette collaboration a permis de construire un programme de recherche ambitieux et motivé la soumission de cette proposition.

Les partenaires vont concevoir des techniques de test, à la fois génériques et efficaces, pour tous les services clefs de test : génération de cas de test, détection des objectifs de test polluants (e.g. inutiles) et évaluation de couverture. Le projet va gérer une large classe de critères importants pour la pratique industrielle. Une attention particulière sera portée au paradigm de développement continu. Le projet fournira ces outils sous forme d’un toolkit intégré qui sera évalué sur des codes réels fournis par le partenaire industriel. Enfin, le projet va établir des recommandations d’application industrielle afin de faciliter l’application des résultats du projet dans l’industrie.

Les principales retombées du projet seront de nature scientifique, technologique et industrielle. SATOCROSS vise le développement d’une technologie de pointe dans le domaine du test logiciel. Elle aura le potentiel d’avoir un impact majeur sur la pratique du développement logiciel, et plus généralement sur l’industrie du logiciel et la société. Les outils open-source, publications et rapports produits par les partenaires vont améliorer l’automatisation du test et fournir à un large spectre d'utilisateurs des moyens améliorés pour développer et maintenir des logiciels fiables.

Coordination du projet

Nicky Williams (Laboratoire d'Intégration des Systèmes et des Technologies)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

MERCE MITSUBISHI ELECTRIC R&D CENTRE EUROPE
UL University of Luxembourg / Interdisciplinary Centre for Security, Reliability and Trust
LIST Laboratoire d'Intégration des Systèmes et des Technologies

Aide de l'ANR 400 293 euros
Début et durée du projet scientifique : décembre 2018 - 36 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter