Analyse statique et preuve de programmes industriels critiques / Thierry Hubert ; [sous la direction de] Claude Marché

Date :

Editeur / Publisher : [s.l.] : [s.n.] , 2008

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Logiciels -- Vérification

Méthodes formelles (informatique)

Marché, Claude (19..-... ; chercheur en informatique) (Directeur de thèse / thesis advisor)

Université de Paris-Sud. Faculté des sciences d'Orsay (Essonne) (Autre partenaire associé à la thèse / thesis associated third party)

Université Paris-Sud (1970-2019) (Organisme de soutenance / degree-grantor)

Relation : Analyse statique et preuve de programmes industriels critiques / Thierry Hubert ; [sous la direction de] Claude Marché / Lille : Atelier national de reproduction des thèses , 2008

Résumé / Abstract : 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.

Résumé / Abstract : 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.