Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI - PowerPoint PPT Presentation

slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI PowerPoint Presentation
Download Presentation
Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI

play fullscreen
1 / 8
Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI
145 Views
Download Presentation
colin
Download Presentation

Un outil d’ analyse statique (synthèse de propriétés) de preuve de propriétés de logiciels écrits en langage C ANSI

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