Analyse statique et preuve de programmes industriels critiques

par Thierry Hubert

Thèse de doctorat en Informatique

Sous la direction de Claude Marché.


  • Résumé

    Dans cette thèse, nous avons contribué au développement de la plate-forme Why afin de fournir une méthode de preuve de la sûreté des programmes industriels critiques. Dans un premier temps, cette thèse présente la plate-forme Why telle qu'elle existait. Cette plate-forme, basée sur le calcul de plus faible pré-condition, s'utilise directement sur le code source et fournit en sortie les conditions de vérification qui doivent être validées pour assurer la sûreté du programme. La première contribution consiste à montrer la méthode de fonctionnement de cette plate-forme en effectuant la preuve d'un programme mettant en {\oe}uvre un algorithme complexe sur les graphes : Schorr-Waite. La deuxième contribution consiste en une analyse de séparation des pointeurs. Cette analyse, basée sur une séparation en régions de la mémoire, est une analyse par typage, donc entièrement statique. La troisième contribution consiste en une analyse de simplification des conditions de vérification. En effet, les conditions de vérification contiennent souvent plein d'hypothèses inutiles à la validation de celles-ci. Pour résoudre ce problème une analyse de pertinence des hypothèses a été développé afin de simplifier les conditions de vérification. Cette thèse se termine sur l'étude de cas d'un programme industriel critique développé chez Dassault Aviation afin de valider notre approche.

  • Titre traduit

    Static analysis and proof of critical industrial programs


  • Résumé

    In this thesis, we contributed to the development of the Why platform to design a proof method for the safety of critical industrial programs. At first, this thesis presents the platform Why such as it existed before the thesis. This platform, based on the calculus of weakest precondition, is directly used on the source code and generates the verification conditions which must be validated to ensure the program safety. The first contribution is a case study of proof of a program implementing a complex algorithm on graphs: Schorr-Waite. The second contribution consists of a separation analysis of pointers. This analysis, based on a separation in regions of the memory, is a type-based analysis, thus completely static. The third contribution consists of a method of simplification of the verification conditions. Indeed, the verification conditions often contain a large number of hypotheses that are useless for the validation of them. To resolve this problem an analysis of relevance of the hypotheses was developed to simplify the verification conditions. This thesis ends with the case study of a critical industrial program developed at Dassault Aviation to validate our approach.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (158 p.)
  • Annexes : Bibliogr. p. 151-158

Où se trouve cette thèse ?

  • Bibliothèque : Université Paris-Sud (Orsay, Essonne). Service Commun de la Documentation. Section Sciences.
  • Disponible pour le PEB
  • Cote : 0g ORSAY(2008)61
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.