47
Rapprocher les méthodes formelles, l’analyse statique et les tests 04 mai 2010

Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Embed Size (px)

Citation preview

Page 1: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Rapprocher les méthodes formelles, l’analyse statique et

les tests04 mai 2010

Page 2: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Limite d’une approche “tests” seule

• Limite d’une approche “méthode formelle”

• Unification des deux approches

• Prise en main plus facile des méthodes formelles

• Faire collaborer les outils entre eux

Des logiciels de plus en plus complexes

Page 3: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Le projet Hi-Lite

Hi-Lite

Tests unitaires

Preuves formelles

Analyse statique

Combiner tests et preuves

Renforcer mutuellementtests et analyse statique

Faciliter la preuve formelle grâce à l’analyse statique

Page 4: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• SPARK : 25 ans

• GNAT Pro : 15 ans

• CodePeer : 7 ans

• Caveat et Frama-C : 10 ans

• Why et Alt-Ergo : 10 ans

Un projet qui s’appuie sur des outils existants

Page 5: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Un projet qui s’appuie sur des outils existants

Page 6: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Un language commun d’annotation

Page 7: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

T1 (21 h/m)Management et dissémination

T4 (32 h/m)Traducteurs

T6 (45 h/m)Bibliothèques et IHM

T3 (38 h/m)Langages

T5 (69 h/m)Outils d’analyse et de tests

• Durée : 36 mois

• Effort global : 316 h/m (3,9 M€)

• Financement : 1,4 M€

T2 (31 h/m)Spécifications

Tâches, efforts et financement

T7 (80 h/m)Applications industrielles

Page 8: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Faciliter les preuves formelles

• Génération automatique d’annotations

• Résolution automatique des preuves

• Un langage commun d’annotations

• Intégration d’outils complexes

• Compilateurs + analyseurs + prouveurs + IDEs

Caractéristiques du projet Hi-Lite

Page 9: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Convergence des tests et des preuves

• Preuves de programmes multi-langages Ada/C

• Logiciel libre

Caractéristiques du projet Hi-Lite

Page 10: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Présentation despartenaires

Page 11: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 12: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Créée en 1996

• PME de 25 personnes basée à Paris

• Compagnie soeur basée à New York

• Nombreux clients à travers le monde

AdaCore en quelques mots

Page 13: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Domaines et clients

– Air traffic control

– Avionic (civil & military)

– Communications

– Electronics

– Energy

– Financial institutions

– Medical imagery

– Military (airborne, ground, naval)

– Space

– Telecom

– Television

– Transportation

– Alenia– Alstom Transport– Airbus– Ansaldo STS– BAe– Boeing– EADS– European Space Agency– Eurocontrol– JEOL– Lockheed Martin– MBDA– NXP– Raytheon– Rockwell Collins– SAAB– General Electric– Thales– Thales Alenia Space– …

ClientsDomaines d’application

Page 14: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Editeur d’outils pour développer des logiciels critiques

• Applications complexes, larges, à longue durée de vie

• GNAT Pro (IDE Ada, C, C++)

• CodePeer (outil d’analyse statique de code Ada)

• Expertise sur le langage Ada

• Ancrée dans le monde du Libre

• Tous les logiciels fournis sont libres (GPL)

• Participation à plusieurs communautés libres

• Expertise sur les modèles économiques du logiciel libre

AdaCore en quelques mots

Page 15: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Coordinateur du projet

• Définition des langages

• Annotations (Alfa)

• Extensions de SPARK

• Extensions de GNAT

• Annotations SPARK

• Alfa

• Outil de traduction Ada vers SPARK

• Sous-ensemble Ada + Annotations -> SPARK

Contributions d’AdaCore

Page 16: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Amélioration de l’outil CodePeer

• Prises en compte et génération d’annotations Alfa (pre/post conditions, invariants de boucles)

• Génération de préconditions plus précises

• Ajout de chemin d’exécution dans les messages

• Intégration de Hi-Lite dans les IDEs

• GPS, GNATbench/Eclipse

• Interaction avec l’utilisateur pour la gestion des annotations, visualisation des obligations de preuves.

• Utilisation de Hi-Lite sur lui-même

Contributions d’AdaCore

Page 17: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 18: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Centre d’excellence dans les systèmes embarqués et critiques pour Altran Group

- 26 années d’expérience dans l’ingéniérie des logiciels sûrs et critiques

- Altran Praxis emploie environ 270 personnes

- Installé en France, Royaume-Uni et Inde

• Centré sur l’ingénierie des systèmes embarqués à logiciel prépondérant avec des contraintes importantes de sûreté, de sécurité ou d’innovation

Altran Praxis – Qui sommes-nous ?

Page 19: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

1983 : création de Program Validation Limited (PVL) afin de commercialiser les outils SPADE

1983 : création de Praxis plc pour appliquer des principes d’ingéniérie au dévelopement logiciel

1987: publication de SPARK – the SPADE Ada Kernel (sur la base d’Ada83)

1987: création de l’équipe Critical Systems à l’intérieur de Praxis

1994 : Praxis Critical Systems acquiert PVL

1997: Altran acquiert Praxis Critical Systems

Début des années 1980 : les outils SPADE sont développés dans un laboratoire de recherche de Southampton University

2009 : lancement de SPARK Pro en partenariat avec AdaCore

2010 : fusion de Praxis HIS et SC2 qui crée Altran Praxis

SPARK et Altran Praxis – les origines

Page 20: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

•Un langage de programmation…

•Un ensemble d’outils de vérification…

•Une méthodologie pour la création de logiciels hautement critiques…

•Tout cela à la fois !

SPARK est…

Page 21: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Le rôle de SPARK dans Hi-Lite

Page 22: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Gardien officiel du langage SPARK

• Expertise unique dans le développement et l’évolution de la technologie SPARK

• Très grande expérience dans l’utilisation industrielle et commerciale des outils SPARK dans des projets critiques

L’expertise de Praxis pour Hi-Lite

Page 23: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Evolutions du langage SPARK :

- Amélioration des techniques de preuve

- Support des annotations ALFA

- Bibliothèque de conteneurs

• Intégration de prouveurs automatiques alternatifs, comme Alt-Ergo, dans SPARK

Les tâches de Praxis dans Hi-Lite

Page 24: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 25: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

CEA-LIST : La face “C” de Ada

Page 26: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Laboratoire de Sûreté Logicielle- 3 équipes, ~25 permanents

- Partenaires académiques et industriels

- Qualification du code embarqé critique

• Frama-C :une platte-forme d’analyse de codes C

CEA-LIST : laboratoire LSL

Page 27: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• ACSL : spécifications formelles pour C

• ACSL : langage mathématique

CEA-LIST : preuves en Frama-C

frama-c -jessie-analysis *.cGwhy / alt-ergo

Page 28: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

CEA-LIST : Langage E-ACSL

• E-ACSL : spécifications exécutables

• Vérification dynamique (test)

• Spécifier les codes Ada & C

Page 29: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 30: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Business Unit d’Astrium,filiale du groupe EADS

• Leader européen du transport spatial

• Ariane 5, ATV, M51, …

Astrium Space Transportation

Page 31: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Véhicules spatiaux

• Systèmes complexes

• Temps réel dur

• Logiciel critique (ECSS niveau C à A)

Augmentation de la complexité et de la criticité dans le futur

Systèmes visés

Page 32: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Technologies utilisées/étudiées à Astrium ST

• Modélisation

• Opérationnel : Hood, SART, SCADE, SysML

• Recherche : Générateur de code SPARK Ada depuis SCADE

• Langages de programmation

• Opérationnel : Ada 83, C

• Recherche : Ada 95/2005, SPARK

• Interprétation abstraite

• Opérationnel : Polyspace Verifier

• Recherche : Astrée

• Preuve formelle

• Opérationnel : Prover

• Recherche : Omega, SPARK

Page 33: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Rôle d’Astrium dans Hi-Lite

• Utilisateur industriel final

• T2.1 : Écriture des exigences

• Processus envisagé pour Hi-Lite

• Cohérence avec les processus industriels (internes et ECSS)

• Définition de cas d’utilisation

• Recommandations techniques

• T7.2 : Applications de Hi-Lite

• Leader de la tâche

• Développement d’une étude de cas

Evaluation de la technologie Hi-Lite

Page 34: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 35: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

L'INRIA et l'équipe ProVal

L'Institut National de Recherche en Informatique et en Automatique (INRIA)est à la pointe de la recherche (fondamentale et appliquée) dans ledomaine des STIC

L'INRIA accueille 2800 chercheurs (INRIA, CNRS, Universités, grandes écoles) parmi ses 168 équipes

L'INRIA développe de nombreux partenariats avec le monde industriel et favorise le transfert technologique

ProVal développe la plate-forme de vérification de programmes Why/Alt-Ergo

Why/Alt-Ergo (preuve déductive de programmes)Correction d'un programme par rapport à sa spécification =>

Validité d'une formule logique.

L'équipe de recherche ProVal est consituée de 27 personnes (10 permanents)

Page 36: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Langage de programmation et de spécification

• Interface à des outils de preuve externes

• Le fondement de FRAMA-C et KRAKATOA

• WHY 3 — bibliothèque généraliste et libre

WHY — vérification de programmes

Page 37: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Types énumérés :

type dwarf = Doc | Grumpy | Happy | Sleepy | Bashful | Sneezy | Dopey

Types algébriques :

type α formula = Value (α) | Sum (α formula,α formula) | Product (α formula,α formula)

Objectif : types énumérés et algébriques

Constructeurs deux à deux disjoints, injectifs et couvrant tous les cas possibles, mais pas de principe de récurrence a priori

Page 38: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Augmenter les langages de spécification et de programmation :

– déclarations de types énumérés et algébriques

– expressions d'analyses par cas (pattern matching)

• Générer des obligations de preuve pourdes programmes utilisant ces constructions

• Traduire pour les démonstrateurs sous-jacents(famille SMT-LIB, famille TPTP, Simplify)

Objectif : types énumérés et algébriques

Page 39: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Démonstrateur SMT open source mis au point pour la vérification de programmes

• Traitements prédéfinis de plusieurs théories

• Efforts de sûreté

• Qualification (DO-178C) en cours

Le démonstrateur automatique Alt-Ergo

Logique propositionnelle, théorie de l'égalité, arithmétique linéaire, symboles AC, théorie des paires

Chaque partie est formalisée à l'aide d'un système de règlesd'inférence et les principaux algorithmes sont formellement prouvés en Coq

Page 40: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

L'architecture d'Alt-Ergo

ANALYSEUR SYNTAXIQUE SMT

ANALYSEUR SYNTAXIQUE WHY

TYPAGE & TRANSFORMATION

DE FORMULES

SOLVEUR SAT

GÉNÉRATION D'INSTANCES DE

LEMMES

PROCÉDURES DE DECISION

BOUCLE PRINCIPALE

Page 41: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

• Analyse des cas d'échecs et génération de contre-exemples

• Traitement des types énumérés et algébriques de manière prédéfinie

• Extension de la théorie de l'arithmétique au cas non-linéaire sur les entiers

• Implémentation de la théorie des tableaux

Objectifs concernant Alt-Ergo

Page 42: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010
Page 43: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Profil THALES

Trois marchés principaux

• Aéronautique et Espace

• Défense

• Sécurité

Un groupe mondial

• Effectif mondial : 68 000 personnes

• Présence dans 50 pays

Leader mondial des systèmes d’information critique

12,9 milliards d’euros}

Page 44: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Aéronautique & Espace Securité

Défense

Trois marchés principaux

50%

25% 25%

Air Terre Naval Inter armée

Page 45: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Systèmes de Transport

Civil

DéfenseTerrestre

Systèmes de Mission de Défense

Defence

EspaceOpérations Aériennes

Systèmes C4I de Défense &

Sécurité

Avionique

Dual

THALES Communications

SC2: Approche Globale pour les Architectures Logicielles

TCF focalise son activité dans le domaine des telecommunications: Radio-communications mobile; Développement de réseaux ATM;

communications satellite, aeronautique et navale, administration de réseaux, identification and radio navigation, systèmes d’information

SC2 Défini et propose des solutions middleware pour les systèmes futurs de THALES Framework lwCCM pour les systèmes TRE (spatiale, ferroviaire, optronic…)

Domaines THALES

Page 46: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

Utilisateurs des technologies et solutions Hi-Lite

• T2 (Spécifications) : 8 h.m

• Prise en compte des possibilités technologiques d’Hi-Lite

• Interaction avec AdaCore, Altran, le CEA et ProVal

• Définition d’un cas d’étude permettant de mettre en œuvre ces possibilités technologiques

• T7 (Applications industrielles) : 26 h.m

• Mise en œuvre du cas d’étude en Ada

• Expérimentation des langages Hi-Lite dans le générateur MyCCM

• Rapport d’évaluation

• Facilité d’intégration

• Amélioration de la fiabilité du code

Contribution

Page 47: Rapprocher les méthodes formelles, lanalyse statique et les tests 04 mai 2010

THALES conçoit et industrialise des produits de sécurité et sûreté

Besoin de certification (DO-178B, IEC61608, SIL1-SIL4) Besoin de rationaliser et d’améliorer l’ingénierie, le

développement et le processus pour atteindre la certification

Des solutions de vérification et certification dans un processus intégré

Les solutions Hi-Lite, intégrées à un framework orienté composant utilisant la génération de code intensive (MyCCM)

Automatisation des moyens de Certification/Vérification pour le code généré

Applicable aux domaines Spatial, Avionique, Ferroviaire et Crypto domains

Forme d’onde Aero, Chiffrement, systèmes sécuritaires Validation pour un framework MyCCM framework en Ada

(domaine spatial et avionique)

Attentes