slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Rapprocher les méthodes formelles, l’analyse statique et les tests PowerPoint Presentation
Download Presentation
Rapprocher les méthodes formelles, l’analyse statique et les tests

Loading in 2 Seconds...

play fullscreen
1 / 47

Rapprocher les méthodes formelles, l’analyse statique et les tests - PowerPoint PPT Presentation


  • 270 Views
  • Uploaded on

Rapprocher les méthodes formelles, l’analyse statique et les tests. 04 mai 2010. Des logiciels de plus en plus complexes. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Rapprocher les méthodes formelles, l’analyse statique et les tests' - emily


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

Des logiciels de plus en plus complexes

  • Limited’uneapproche “tests” seule
  • Limited’uneapproche “méthodeformelle”
  • Unification des deuxapproches
  • Prise en main plus facile des méthodesformelles
  • Faire collaborer les outils entre eux
slide3

Le projet Hi-Lite

Tests unitaires

Combiner tests et preuves

Renforcer mutuellementtests et analyse statique

Hi-Lite

Analyse statique

Preuves formelles

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

slide4

Un projet qui s’appuie sur des outils existants

  • SPARK : 25 ans
  • GNAT Pro : 15 ans
  • CodePeer : 7 ans
  • Caveat et Frama-C : 10 ans
  • Why et Alt-Ergo : 10 ans
slide7

Tâches, efforts et financement

T1 (21 h/m)

Management et dissémination

T3 (38 h/m)

Langages

T2 (31 h/m)

Spécifications

T4 (32 h/m)

Traducteurs

T5 (69 h/m)

Outils d’analyse et de tests

T6 (45 h/m)

Bibliothèques et IHM

T7 (80 h/m)

Applications industrielles

  • Durée : 36 mois
  • Effort global : 316 h/m (3,9 M€)
  • Financement : 1,4 M€
slide8

Caractéristiques du projet Hi-Lite

  • 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
slide9

Caractéristiques du projet Hi-Lite

  • Convergence des tests et des preuves
  • Preuves de programmes multi-langages Ada/C
  • Logiciel libre
slide12

AdaCore en quelques mots

  • Créée en 1996
  • PME de 25 personnes basée à Paris
  • Compagnie soeur baséeà New York
  • Nombreux clients à travers le monde
slide13

Domaines et clients

Domaines d’application

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
slide14

AdaCore en quelques mots

  • 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
slide15

Contributions d’AdaCore

  • 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
slide16

Contributions d’AdaCore

  • 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
slide18

Altran Praxis – Qui sommes-nous ?

  • 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
slide19

SPARK et Altran Praxis – les origines

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

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

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

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

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

1994 : Praxis Critical Systems acquiert PVL

1997: Altran acquiert Praxis Critical Systems

2009 : lancement de SPARK Pro en partenariat avec AdaCore

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

slide20

SPARK est…

  • 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 !
slide22

L’expertise de Praxis pour Hi-Lite

  • 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
slide23

Les tâches de Praxis dans Hi-Lite

  • 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
slide26

CEA-LIST : laboratoire LSL

  • 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
slide27

CEA-LIST : preuves en Frama-C

  • ACSL : spécifications formelles pour C
  • ACSL : langage mathématique

frama-c -jessie-analysis *.c

Gwhy / alt-ergo

slide28

CEA-LIST : Langage E-ACSL

  • E-ACSL : spécifications exécutables
  • Vérification dynamique (test)
  • Spécifier les codes Ada & C
slide30

Astrium Space Transportation

  • Business Unit d’Astrium,filiale du groupe EADS
  • Leader européen du transport spatial
    • Ariane 5, ATV, M51, …
slide31

Systèmes visés

  • 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

slide32

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
slide33

Rôle d’Astrium dans Hi-Lite

  • Utilisateurindustriel final
  • T2.1 : Écriture des exigences
    • Processusenvisagé 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
slide35

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 le

domaine 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

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

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.

slide36
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

slide37
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

slide38
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

slide39
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ègles

d'inférence et les principaux algorithmes sont formellement

prouvés en Coq

slide40

L'architecture d'Alt-Ergo

ANALYSEUR SYNTAXIQUE SMT

ANALYSEUR SYNTAXIQUE WHY

TYPAGE & TRANSFORMATION

DE FORMULES

SOLVEUR SAT

BOUCLE PRINCIPALE

GÉNÉRATION D'INSTANCES DE LEMMES

PROCÉDURES DE DECISION

slide41
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

profil thales
Profil THALES

Leader mondial des systèmes d’information critique

  • Trois marchés principaux
    • Aéronautique et Espace
    • Défense
    • Sécurité
  • Un groupemondial
    • Effectifmondial : 68 000 personnes
    • Présencedans 50 pays

}

12,9 milliards d’euros

slide44

Trois marchés principaux

Défense

50%

  • Air
  • Terre
  • Naval
  • Inter armée

Aéronautique & Espace

Securité

25%

25%

slide45

Dual

Defence

Civil

Systèmes de Mission de Défense

Défense

Terrestre

Systèmes C4I de Défense & Sécurité

Opérations Aériennes

Avionique

Espace

Domaines THALES

Systèmes de Transport

THALES Communications

SC2: Approche Globale pour les Architectures Logicielles

  • TCF focalise son activité dans le domaine destelecommunications:
    • 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…)
slide46

Contribution

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
slide47

Attentes

  • 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 frameworkMyCCMframework en Ada (domaine spatial et avionique)