Rapprocher les m thodes formelles, l investigate statique et les tests .


25 views
Uploaded on:
Category: Food / Beverages
Description
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
Transcripts
Slide 1

Rapprocher les méthodes formelles, l\'analyse statique et les tests 04 mai 2010

Slide 2

Des logiciels de in addition to en in addition to buildings Limite d\'une approche "tests" seule Limite d\'une approche "m é thode formelle " Unification des deux approches Prise en fundamental in addition to easy des m é thodes formelles Faire collaborer les outils entre eux

Slide 3

Le projet Hi-Lite Tests unitaires Combiner tests et preuves Renforcer mutuellement tests et dissect statique Hi-Lite Analyze statique Preuves formelles Faciliter la preuve formelle grâce à l\'analyse statique

Slide 4

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

Slide 5

Un projet qui s\'appuie sur des outils existants

Slide 6

Un dialect commun d\'annotation

Slide 7

Tâches, endeavors 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 worldwide : 316 h/m (3,9 M€) Financement : 1,4 M€

Slide 8

Caract é ristiques du projet Hi-Lite Faciliter les preuves formelles Génération automatique d\'annotations R é arrangement automatique des preuves Un langage commun d\'annotations Int é gration d\'outils edifices Compilateurs + analyseurs + prouveurs + IDEs

Slide 9

Caract é ristiques du projet Hi-Lite Convergence des tests et des Preuves de programs multi-langages Ada/C Logiciel libre

Slide 10

Pr ésentation des partenaires

Slide 12

AdaCore en quelques maxims Créée en 1996 PME de 25 personnes bas ée à Paris Compagnie soeur bas ée à New York Nombreux customers à travers le monde

Slide 13

Domaines et customers Domaines d\'application Clients Air movement control Avionic (common & military) Communications Electronics Energy Financial organizations Medical symbolism Military (airborne, ground, maritime) 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 Alenia Space …

Slide 14

AdaCore en quelques quips Editeur d\'outils pour développer des logiciels scrutinizes Applications buildings, larges, à longue durée de compete 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

Slide 15

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-outfit Ada + Annotations - > SPARK

Slide 16

Contributions d\'AdaCore Amélioration de l\'outil CodePeer Prises en compte et g éné proportion d\'annotations Alfa (pre/post conditions, invariants de boucles) G énération de préconditions in addition to 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 explanations, perception des commitments de preuves. Usage de Hi-Lite sur lui-même

Slide 18

Altran Praxis – Qui sommes-nous ? Focus d\'excellence dans les systèmes embarqués et studies pour Altran Group 26 années d\'expérience dans l\'ingéniérie des logiciels sûrs et investigates 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

Slide 19

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: distribution 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 : combination de Praxis HIS et SC2 qui crée Altran Praxis

Slide 20

SPARK est… Un langage de programmation… Un outfit d\'outils de vérification… Une méthodologie pour la création de logiciels hautement evaluates… Tout cela à la fois !

Slide 21

Le rôle de SPARK dans Hi-Lite

Slide 22

L\'expertise de Praxis pour Hi-Lite Gardien officiel du langage SPARK Expertise remarkable 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 studies

Slide 23

Les tâches de Praxis dans Hi-Lite Evolutions du langage SPARK : Amélioration des systems de preuve Support des explanations ALFA Bibliothèque de conteneurs Intégration de prouveurs automatiques alternatifs, comme Alt-Ergo, dans SPARK

Slide 25

CEA-LIST : La confront "C" de Ada

Slide 26

CEA-LIST : laboratoire LSL L aboratoire de S ûreté L ogicielle 3 équipes, ~25 permanents Partenaires académiques et industriels Qualification du code embarqé investigate Frama-C : une platte-forme d\'analyse de codes C

Slide 27

CEA-LIST : preuves en Frama-C ACSL : spécifications formelles pour C ACSL : langage mathématique frama-c - jessie-examination *.c Gwhy/alt-hence

Slide 28

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

Slide 30

Astrium Space Transportation Business Unit d\' Astrium , filiale du groupe EADS Leader européen du transport spatial Ariane 5, ATV, M51, …

Slide 31

Systèmes visés Véhicules spatiaux Systèmes buildings Temps réel dur Logiciel study (ECSS niveau C à A) Augmentation de la complexit é et de la criticit é dans le futur

Slide 32

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

Slide 33

Rôle d\'Astrium dans Hi-Lite Utilisateur industriel last 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 methods T7.2 : Applications de Hi-Lite Leader de la tâche Développement d\'une étude de cas  Evaluation de la technologie Hi-Lite

Slide 35

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 programs Why/Alt-Ergo Why/Alt-Ergo (p reuve déductive de programs) Correction d\'un program standard affinity à sa spécification => Validité d\'une formule logique.

Slide 36

Langage de programmation et de spécification Interface à des outils de preuve externes Le fondement de F RAMA - C et K RAKATOA W HY 3 — bibliothèque généraliste et libre W HY  — vérification de programs

Slide 37

Types énumérés : sort predominate = Doc | Grumpy | Happy | Sleepy | Bashful | Sneezy | Dopey Types algébriques : sort α recipe = Value ( α) | Sum ( α equation, α equation) | Product ( α equation, α recipe) Objectif : sorts énumérés et algébriques Constructeurs deux à deux disjoints, injectifs et couvrant tous les cas possibles, mais pas de principe de récurrence from the earlier

Slide 38

Augmenter les langages de spécification et de programmation : déclarations de sorts énumérés et algébriques expressions d\'analyses standard cas ( design coordinating ) Générer des commitments de preuve pour des programs utilisant ces developments Traduire pour les démonstrateurs sous-jacents (famille SMT-LIB , famille TPTP , Simplify ) Objectif : sorts énumérés et algébriques

Slide 39

Démonstrateur SMT open source mis au point pour la vérification de programs 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

Slide 40

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

Slide 41

Analyze des cas d\'échecs et génération de contre-exemples Traitement des sorts énumérés et algébrique

Recommended
View more...