19
LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : •Claire : environnement de test de systèmes temps- réel distribués utilisant des simulateurs de microprocesseurs (IRSN, Airbus, Duons,…) •Caveat : analyse statique de programmes C (synthèse de propriétés et preuve) (Airbus, EDF, TNI,…) •GATeL : génération de tests à partir de descriptions Lustre (IRSN, Airbus) •Fluctuat : étude de la précision numérique de calculs en nombres flottants (IRSN, Airbus) •TAO : génération de tests à partir du source C (Rational) Laboratoire Sûreté du Logiciel

LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

Embed Size (px)

Citation preview

Page 1: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

115/11/2002 Journées SECC

R&D en Validation/Vérification outils

pilotée par des besoins industriels

Principales réalisations :

•Claire : environnement de test de systèmes temps-réel distribués utilisant des simulateurs de microprocesseurs (IRSN, Airbus, Duons,…)

•Caveat : analyse statique de programmes C (synthèse de propriétés et preuve) (Airbus, EDF, TNI,…)

•GATeL : génération de tests à partir de descriptions Lustre (IRSN, Airbus)

•Fluctuat : étude de la précision numérique de calculs en nombres flottants (IRSN, Airbus)

•TAO : génération de tests à partir du source C (Rational)

Laboratoire Sûreté du Logiciel

Page 2: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

215/11/2002 Journées SECC

Analyse dynamique

Systèmes : distribués : problèmes de synchronisation temps-réel : pas d’instrumentation du code formalismes multiples : problèmes d’échanges composants logiciels et matériels à divers stades de maturité :

simulation du matériel, remplacement de composants

On développe : générateurs d’environnement de test :

pilote, bouchons, oracle simulateurs du matériel connexion à GDB

Page 3: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

315/11/2002 Journées SECC

Analyse dynamique

Simulateurs du matériel en SystemC(ex : 68040, PowerPC 755, Sharc) Aspect fonctionnel (émulateur) Aspect temporel (prise en compte des caches, pipeline) : précision ~10%

Objectifs : Performance : 1 MIPS simulé Bibliothèque de composants de base réutilisables : cache, prédiction de

branchement,…

Difficultés : performance, précision (~documentation)

Coopération : LRI

Page 4: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

415/11/2002 Journées SECC

Analyse statique

Identification de menaces (division par zéro, blocage,…) Preuve formelle Précision de calculs utilisant des nombres flottants Génération de cas de test (pilotes et oracles)

Au niveau du :• du source (C ou SystemC)• du binaire exécutable (PowerPC755)• de spécifications (Lustre)• de modèles (Promela/SPIN, géométriques) extraits du

source code

Page 5: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

515/11/2002 Journées SECC

Analyse statique

Techniques utilisées :

Preuve à la Hoare Interprétation abstraite Programmation logique contrainte Interprétation géométrique et topologie algébrique

Page 6: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

615/11/2002 Journées SECC

Analyse statique

Interprétation géométrique et topologie algébrique

Pa Pb

Pb

Pa

Vb

Va

VbVa T1

T2

T1 et T2 partagent deux ressources a et b

interdit

dead lock

inatteignable

Page 7: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

715/11/2002 Journées SECC

Analyse statique

Travaux actuels autour de Caveat :

Synthèse d’invariants (prise en compte du contexte)

Améliorations diverses de nos outils de manipulation algébrique (avec le LIFO) : filtrage, base de règle de réécriture, démonstrateur de théorèmes

Coopération des techniques :• Hoare (exact mais interactif ; locale) • interprétation abstraite (approchée mais automatique ;

globale)exemple : calcul et utilisation d’alias

Page 8: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

815/11/2002 Journées SECC

Analyse statique

Travaux actuels sur SystemC V2.0 :

Définition d’un premier sous-ensemble analysable de modules mis à plat (signaux, ports, notify, tous les wait, une seule horloge)

Analyseur statique :• Représentation interne conservant les communications (pas du C+

+ à plat, macros non expansées)• Synthèse de propriétés d’invariance, et preuve de propriétés

temporelles• Connexion à AIF format d’échange : VHDL, VERILOG, LPV (JL.

Lambert TNI-Valiosys),…

Page 9: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

915/11/2002 Journées SECC

Analyse statique

Travaux sur l’approche géométrique du parallélisme :

Référence : application EDF (100 000 lignes de C, multi-thread avec partage de ressources)

Développement d’un analyseur statique Calcul d’invariants topologiques pour éviter l’explosion combinatoire

Travaux actuels :

Calcul compositionnel d’invariants Extension d’application : POSIX, temps-réel

Page 10: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1015/11/2002 Journées SECC

Analyse statique

Analyse par interprétation abstraite des causes d’imprécisions dans les calculs flottants (IEEE 754) par

rapport aux calculs réels

Acquis : Fluctuat analyseur pour programmes C

Travaux actuels : analyse du binaire PowerPC 755 contrôle des élargissements dans les boucles recherche d’autres domaines pour améliorer la précision

de l’analyse

Page 11: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1115/11/2002 Journées SECC

Test structurel/fonctionnel

Application des outils d’analyse statique :

Programme + assertions sur l’environnement + objectif de test

Caveat sur source C :

calcul de condition de vérification (à la Hoare), puis résolution

TAO sur source C : objectif de test = automate de comportement

calcul de la condition d’entrée (interprétation abstraite), puis résolution

GATeL sur spécification Lustre : modèle + environnement + objectif (interprétation en CLP) puis dépliage + résolution + propagation

Page 12: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1215/11/2002 Journées SECC

Test fonctionnel

Test fonctionnel en présence de nombres flottants

Objectif : produire un test et un oracle pour décider de la validité du résultat d’un calcul en nombres flottants

y=f(x) {x1 = 3.14, y1 [5.10,5.21] [5.33,5.38]}, …

Problèmes : Bon conditionnement du modèle? Sensibilité du graphe de contrôle du modèle. Génération de solution d’un système de contraintes avec flottants.

Travaux en cours : Bibliothèque pour la résolution de contraintes en nombres flottants

Page 13: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1315/11/2002 Journées SECC

Test fonctionnel

Génération de test à partir de spécifications par pré/post-conditions en logique des prédicats du premier ordre

Restrictions : Variables du prédicat = variables du code (donc structurées)

(pas d’abstraction) Quantification sur ensembles finis (bornes éventuellement inconnues) Pas de récursivité

Objectif : recherche de solutions nominales et aux limites ( problèmes de caractérisation)

Technique : Programmation logique contrainte (Eclipse) Exploitation des formes normales disjonctives Quantification à bornes inconnues

génération dynamique de contraintes

Page 14: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1415/11/2002 Journées SECC

Génération de tests

Environnement

Application (binaire exécutable)

Oracle

e s

v

Assertions sur l’environnement

Modèle ou source

Objectif de test

e s

v

True

True

Analyse statique

(Caveat, Fluctuat, TAO, GATeL)

Analyse dynamique

(Claire)

traducteur

Page 15: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1515/11/2002 Journées SECC

Source codeProperties

Residue

Commands

Page 16: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1615/11/2002 Journées SECC

1 - Insertion of a precondition

2 – Proof of the postcondition

3 – Proof that all the calling functions satisfy the precondition

Page 17: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1715/11/2002 Journées SECC

Caveat : graphe d’appels avec menaces

Page 18: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1815/11/2002 Journées SECC

Fluctuat : étude de la précision numérique

Page 19: LIST/DTSI 1 15/11/2002 Journées SECC R&D en Validation/Vérification outils pilotée par des besoins industriels Principales réalisations : Claire : environnement

LIS

T/

DT

SI

1915/11/2002 Journées SECC

Collaborations

Industrielles :• Airbus : Caveat, Fluctuat, Claire, GATeL• EDF : Caveat, MIEL, ALCOOL• IPSN : Claire, GATeL, Fluctuat• (RATP : évaluation de Caveat)• (Dassault Aviation : évaluation de Caveat)• Rational : TAO• TNI-Valiosys : Caveat, Claire, SystemC• Duons Systèmes : Claire

Académiques• ENS : interprétation abstraite - analyse probabiliste• LIX : interprétation abstraite - VHDL• LIFO : filtrage pour réécriture• LRI : simulateurs de microprocesseurs• CNRS Strasbourg,… : analyse de programmes parallèles• (LRI : génération de test)• (LSV : échanges culturels, vivier pour embauches)

Projets nationaux ou européens