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
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
Caveat
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
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
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
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
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
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
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