8
D R T Ile-de-France Version du 22 juin 2001 1 Un outil • d’analyse statique (synthèse de propriétés) • de preuve de propriétés de logiciels écrits en langage C ANSI, utilisé dans l’industrie : Airbus, EdF [email protected] Caveat

Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés

  • Upload
    kris

  • View
    74

  • Download
    0

Embed Size (px)

DESCRIPTION

Caveat. Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI, utilisé dans l’industrie : Airbus , EdF [email protected]. Plan de la présentation. Utilisation chez Airbus Utilisation chez EdF - PowerPoint PPT Presentation

Citation preview

Page 1: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20011

Un outil • d’analyse statique (synthèse de propriétés)• de preuve de propriétés

de logiciels écrits en langage C ANSI,utilisé dans l’industrie : Airbus, EdF

[email protected]

Caveat

Page 2: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20012

• Utilisation chez Airbus• Utilisation chez EdF• Démonstration de l’outil• Évolutions en cours• Questions

Plan de la présentation

Page 3: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20013

Objectif : Trouver des erreurs au plus tôt en cours de développement pour réduire les coûts et les délais, sans attendre de pouvoir les

tester

Utilisation :Preuve des fonctions C dès qu’elles sont écrites et spécifiéesSuppression des tests unitaires

Mise en œuvre en plusieurs étapes :o Étude et expérimentation de la technologieo Adaptation au contexteo Expérimentation sur l’A380 (réduction des coûts et délais)o Déploiement sur d’autres réalisations (par exemple l’A400M)

Utilisation chez Airbus

Page 4: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20014

Objectif : Constitution de dossiers de sûreté

Utilisation :• Identification de menaces :

o division par zéro, indices de tableau hors bornes,…o code mort

• Contrôle de la propagation des fautes

Mise en œuvre en plusieurs étapes :o Étude et expérimentation de la technologieo Adaptation au contexteo Utilisation opérationnelle sur des systèmes de sûreté du nucléaireo Déploiement au sein d’EdF et chez des sous-traitants

Utilisation chez EdF

Page 5: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20015

Synthèse automatique de propriétés :• Opérandes cachés• Pré-conditions (menaces )

Preuve de propriétés :• Post-conditions• Pré-conditions• Invariants de boucle• Assertions• Transformation interactive de prédicats

Démonstration

Page 6: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20016

Synthèse automatique :• Invariants trop forts non établis avant les boucles

échec ou report sur le contexte d’utilisation• Formules trop complexes pour être simplifiées

automatiquement

Besoin d’interventions de l’utilisateur :• Donnée d’invariants de boucle• Introduction de coupures (assertions intermédiaires, pré-

conditions)• Transformation interactive des conditions générées

Traitement des menaces

Page 7: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20017

• C ANSI

• Pas d’alias• Pas d’allocation dynamique de mémoire• Pas de fonctions récursives• Pas de pointeurs de fonction

~ règles de programmation des systèmes de sûreté

Limitations actuelles

Page 8: Un outil  d’ analyse statique  (synthèse de propriétés) de  preuve  de propriétés

DRT Ile-de-FranceVersion du 22 juin 20018

Introduction de l’interprétation abstraite pour :• Traitement des alias• Synthèse d’invariants• Passer une difficulté par un calcul approché (sur certains

treillis ; interprétation abstraite) et revenir ensuite sur des calculs exacts (sur prédicats ; Hoare)

Objectifs : • Traiter les pointeurs• Réduire le nombre de fausses menaces• Réduire les interactions

Évolutions en cours