Présentation du projet INKA aux journnées
Transcription
Présentation du projet INKA aux journnées
Présentation du projet INKA aux journnées RNTL 2004 Génération automatique de cas de test structurel pour des programmes écrits en C/C++ Bernard BOTELLA THALES SYSTEMES AEROPORTES [email protected] 1 Outillage de validation Validation en vol Validation sur banc Exigences Validation Globale Tests du Logiciel / Fonction opérationnelle Modèle UML Conception Globale Modèle UML Test Unitaires (et d’Intégration) Codage RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 2 Test Unitaire Fonction/méthode Exécuter Cas de test Oracle Sorties Contrôler Résultats RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 3 Choix des cas de test Test fonctionnel : basé sur l’étude des spécifications Cas de test Sorties Test structurel : basé sur l ’analyse du programme Cas de test RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA Sorties 4 Atteindre un point du programme f( int i ) { j := 2 if( i ≤ 16 ) j := j * i if( j > 8) j := 0 1 t 3 t valeur du paramètre i ? return j 2 f f 4 5 } RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 5 INKA : Principes Sorties Entrees + Point sélectionné 2 1 2 Programme à contraintes Entrées + Requête RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA Sorties 6 Le projet INKA ] Projet RNTL (labellisé 2000) : 2001-2002 ] ] ] ] ] ] Partenaires : THALES SYSTEMES AEROPORTES AXLOG, I3S (Nice) , LIFC (Besançon) , LSR (Grenoble) ] 2 AXES : \ Industrialisation les travaux commencés chez THALES / I3S \ Recherche sur les problèmes théoriques posés par les flottants, les structures de données dynamiques RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 7 Résultats Industrialisation : INKA V(0).1 ] ] ] ] ] LANGAGE traite le langage C les types « entiers » les pointeurs sans allocation dynamique vers des types simples les structures, les tableaux de types simples ] ] ] FONCTIONS PRINCIPALES visualisation de la couverture génération pour toutes_les_instructions , toutes_les_branches ] ] ] ] ] FONCTIONS COMPLEMENTAIRES expression de contraintes sur les données de tests gestion des bouchons intégration dans la chaîne de test interface : import/export de jeux de tests au format XML RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 8 Résultats de recherche ] Solutions proposées : \ Solveur flottant \ Utilisation de contraintes ensemblistes pour modéliser les structures de données dynamiques ] ] La réalisation d ’une version d ’INKA incorporant ces résultats est en cours. Recherche en cours pour l ’extension à C++ (prise en compte des aspects dynamiques du typage, templates, …) RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 9 Perspectives: Test unitaire automatisé ] Que manque-t-il ? \ La formalisation des spécifications [ fournit l ’oracle pour le test structurel ou fonctionnel [ permet l ’automatisation de la couverture « fonctionnelle » ] Peut-on éviter des tests ? projet DANOCOPS labellisé RNTL 2002 Détection Automatique de NOn-COnformités Programme-Spécification [ (Démarrage octobre 2004 : durée 30 mois) [ (mêmes partenaires) ] Confronter le modèle des spécifications et le modèle du programme ] Trouver automatiquement des cas de défaut ] Prouver la conformité RNTL Journées Nationales 2004 – 4-5 octobre –- Projet INKA 10