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