1 / 8

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

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 Jacques.Raguideau@cea.fr. Plan de la présentation. Utilisation chez Airbus Utilisation chez EdF

kris
Download Presentation

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • Jacques.Raguideau@cea.fr

  2. Plan de la présentation • Utilisation chez Airbus • Utilisation chez EdF • Démonstration de l’outil • Évolutions en cours • Questions

  3. Utilisation chez Airbus • 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 : • Étude et expérimentation de la technologie • Adaptation au contexte • Expérimentation sur l’A380 (réduction des coûts et délais) • Déploiement sur d’autres réalisations (par exemple l’A400M)

  4. Utilisation chez EdF • Objectif : Constitution de dossiers de sûreté • Utilisation : • Identification de menaces : • division par zéro, indices de tableau hors bornes,… • code mort • Contrôle de la propagation des fautes • Mise en œuvre en plusieurs étapes : • Étude et expérimentation de la technologie • Adaptation au contexte • Utilisation opérationnelle sur des systèmes de sûreté du nucléaire • Déploiement au sein d’EdF et chez des sous-traitants

  5. Démonstration • 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

  6. Traitement des menaces • 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

  7. Limitations actuelles • 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é

  8. Évolutions en cours • 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

More Related