Contexte et motivations Les techniques envisagées Evolution des processus Conclusion



Documents pareils
Chapitre 2 : Abstraction et Virtualisation

Retour d expérience implémentation Scrum / XP

Machines virtuelles Cours 1 : Introduction

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Vulgarisation Java EE Java EE, c est quoi?

UNE SOLUTION MOBILE POUR LES CONTROLES EN USINE

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Commande Prédictive des. Convertisseurs Statiques

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

SSTIC Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Moteur d idées pour véhicules spécifiques. Le Pôle de compétitivité Véhicules et Mobilités du grand Ouest

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Agilitéet qualité logicielle: une mutation enmarche

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Métriques de performance pour les algorithmes et programmes parallèles

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Qualité du logiciel: Méthodes de test

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

ACCESSNET -T IP Technique système TETRA d Hytera.

Chapitre 1 I:\ Soyez courageux!

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Analyse de sécurité de logiciels système par typage statique

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

UE Programmation Impérative Licence 2ème Année

Administrateur de Parc PC

Évaluation et implémentation des langages

Introduction aux systèmes temps réel. Iulian Ober IRIT

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Architecture matérielle des systèmes informatiques

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Jean-Philippe Paquette

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

ComplianceSP TM sur SharePoint 2010 CONTRÔLE CONFORMITÉ PERFORMANCES

Cours 1 : La compilation

Concept de machine virtuelle

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Annexe : La Programmation Informatique

Conception des systèmes répartis

Traduction des Langages : Le Compilateur Micro Java

Architecture des ordinateurs

Analyse,, Conception des Systèmes Informatiques

En vue de l'obtention du

Vérifier la qualité de vos applications logicielle de manière continue

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Architecture des calculateurs

Test de performance en intégration continue dans un cloud de type PaaS

Equilibrage de charge (Load

Environnements et Outils de Développement Cours 1 Introduction

Business & High Technology

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Système de stockage IBM XIV Storage System Description technique

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Technologie 125 Khz pour une performance optimale en en environnement industriel. Création des badges. Programmation des badges

Manage Yourself. Rapport de planification. Projet de 4ème année informatique. Equipe :

Processus d Informatisation

Compilation (INF 564)

Programmes des classes préparatoires aux Grandes Ecoles

Master Data Management en Open Source C est le Bon Moment

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Conception de circuits numériques et architecture des ordinateurs

L apprentissage automatique

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Synergies entre Artisan Studio et outils PLM

CEG4566/CSI4541 Conception de systèmes temps réel

Que souhaitent les Administrateurs Système?

Environnements de développement (intégrés)

Les avantages de la virtualisation sont multiples. On peut citer:

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Serveurs et solutions PowerEdge pour les applications métiers

MEAD : temps réel et tolérance aux pannes pour CORBA

Introduction aux Machines Virtuelles avec VMKit

CONSEIL STRATÉGIQUE. Services professionnels. En bref

Thème 3 Conception et vérification d architectures de systèmes sur puce

Pourquoi OneSolutions a choisi SyselCloud

Management des Systèmes d Information

Machines Virtuelles. et bazard autour. Rémi Forax

Mécanismes de protection dans AUTOSAR OS

Curriculum Vitae 1 er février 2008

Compteurs d Energie Thermique & Systèmes associés

Solutions hautes performances pour le gardiennage et la surveillance

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Elasticité logicielle pour optimiser l empreinte énergétique

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Initiation au HPC - Généralités

Année Universitaire 2009/2010 Session 2 de Printemps

VIRTUALISATION : MYTHES & RÉALITÉS

Systèmes et traitement parallèles

Transcription:

Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and Analyses Validation testing Integration testing Design function Unit testing Processus de développement d Eviter les erreurs Coding Processus de vérificationv Détecter les erreurs Le cycle de vie du logiciel 1

Caractéristiques notables du processus de vérification Objectifs déterminés par la réglementation Basé sur les tests + revues, analyses manuelles Coût élevé : plus de 50% du cycle de vie Logiciels de tests => [2-10] x module Moyens de tests spécifiques, dédiés à chaque phase Les facteurs de changement Implémentation des fonctions de plus en plus par logiciel Nouvelles fonctions Extension de fonctions Migration hardware => software =>Logiciel plus complexe à vérifier 2

Technologies Hardware toujours plus performantes Processeurs FPU Pipeline, caches internes, MMU, superscalaire Calculateurs Hiérarchie de mémoires, NUMA Compilateurs Optimisations =>Comportements plus difficiles à maîtriser Evolution des exigences de vérification Exigences réglementaires Exigences industrielles Exigences induites par les technologies => Approche Tests x Analyses «manuelles» De plus en plus limitée Sans issue à terme 3

Techniques envisagées Analyse statique outillée (ou preuves de propriétés) exhaustivité analyse du source (binaire dans certains cas) Les seuls moyens matériels sont des stations de travail de type courant degré d automatisation la phase «intellectuelle» d identification des cas de test n a pas d équivalent en preuve But = Amélioration coût x efficacité de la vérification Allégement des moyens mis en œuvre Diminution du temps de vérification Minimiser le coût de détection des erreurs. Deux approches techniques Preuve exacte (logique de Hoare) Preuve approchée (interprétation abstraite) Stratégie cible Preuves x tests x revues 4

Les outils CAVEAT Preuve exacte - R&D en collaboration avec le CEA Relations logiques exprimées sur les variables Programme source C Cibles: Sûreté de fonctionnement : car exigence d exhaustivité, lourdeur des moyens de tests (parfois) Vérification unitaire : remplacer le TU pour la vérification algorithmique. Les outils ABSINT/WCET Preuve approchée - Projet IST DAEDALUS Borne optimale pour le pire cas du temps d exécution Binaire exécutable (Coldfire, PPC) Cible: Vérification d intégration : remplacer test + analyse 5

Les outils ABSINT/STACK Preuve approchée - R&D ABSINT Borne optimale pour la pile d exécution Binaire exécutable (PPC) Cible: Vérification d intégration : remplacer test + analyse Les outils Polyspace Verifier Preuve approchée - Projet IST DAEDALUS Propriétés de run-time error Programme source C Cibles: Vérification unitaire/intégration/analyses manuelles Certains mécanismes de tolérance aux fautes 6

Les outils CEA/Floating Point Preuve approchée - Projet IST DAEDALUS Précision des calculs en flottant Cibles: Vérification unitaire/intégration : remplacer les analyses manuelles «assistées» Evolution des processus L introduction des techniques de preuves: Nouvelles méthodes Aménagements du processus de vérification Intégration dans la gestion des processus du cycle de vie Facilité d apprentissage et d usage par les équipes de développement 7

Conclusion Preuve exacte phase R&D quasiment terminée prochain objectif : introduction effective sur un logiciel réel Preuve approchée phase R&D en règle générale, les outils basés sur l interprétation abstraite permettront d automatiser assez largement des analyses qui sont aujourd hui essentiellement intellectuelles 8