Thèse soutenue

Analyse statique des systèmes de contrôle-commande : invariants entiers et flottants
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Vivien Maisonneuve
Direction : François Irigoin
Type : Thèse de doctorat
Discipline(s) : Informatique temps réel, robotique et automatique
Date : Soutenance le 06/02/2015
Etablissement(s) : Paris, ENMP
Ecole(s) doctorale(s) : École doctorale Sciences des métiers de l'ingénieur (Paris)
Partenaire(s) de recherche : Laboratoire : Centre de recherche en informatique (Fontainebleau, Seine et Marne)
Jury : Président / Présidente : Philippe Schnoebelen
Examinateurs / Examinatrices : François Irigoin, Nicolas Halbwachs, Olivier Hermant
Rapporteurs / Rapporteuses : Matthieu Martel, Antoine Miné, Helmut Seidl

Résumé

FR  |  
EN

Un logiciel critique est un logiciel dont le mauvais fonctionnement peut avoir un impact important sur la sécurité ou la vie des personnes, des entreprises ou des biens.L'ingénierie logicielle pour les systèmes critiques est particulièrement difficile et combine différentes méthodes pour garantir la qualité des logiciels produits.Parmi celles-ci, les méthodes formelles peuvent être utilisées pour prouver qu'un logiciel respecte ses spécifications.Le travail décrit dans cette thèse s'inscrit dans le contexte de la validation de propriétés de sûreté de programmes critiques, et plus particulièrement des propriétés numériques de logiciels embarqués dans des systèmes de contrôle-commande.La première partie de cette thèse est consacrée aux preuves de stabilité au sens de Lyapunov.Ces preuves s'appuient sur des calculs en nombres réels, et ne sont pas valables pour décrire le comportement d'un programme exécuté sur une plateforme à arithmétique machine.Nous présentons un cadre théorique générique pour adapter les arguments des preuves de stabilité de Lyapunov aux arithmétiques machine.Un outil effectue automatiquement la traduction de la preuve en nombres réels vers une preuve en nombres a virgule flottante.La seconde partie de la thèse porte sur l'analyse des relations affines, en utilisant une interprétation abstraite basée sur l'approximation des valuations associées aux points de contrôle d'un programme par des polyèdres convexes.Nous présentons ALICe, un framework permettant de comparer différentes techniques de génération d'invariants.Il s'accompagne d'une collection de cas de tests tirés de publications sur l'analyse de programmes, et s'interface avec trois outils utilisant différents algorithmes de calcul d'invariants: Aspic, iscc et PIPS.Afin d'affiner les résultats de PIPS, deux techniques de restructuration de code sont introduites, et plusieurs améliorations sont apportées aux algorithmes de génération d'invariants et évaluées à l'aide d'ALICe.