Génération de codes et d'annotations prouvables d'algorithmes de points intérieurs à destination de systèmes embarqués critiques
Auteur / Autrice : | Guillaume Davy |
Direction : | Didier Henrion, Pierre-Loïc Garoche |
Type : | Thèse de doctorat |
Discipline(s) : | Sûreté de logiciel et calcul de haute performance |
Date : | Soutenance le 06/12/2018 |
Etablissement(s) : | Toulouse, ISAE |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, informatique et télécommunications (Toulouse) |
Partenaire(s) de recherche : | Laboratoire : Office national d'études et recherches aérospatiales (Toulouse, Haute-Garonne). Département Traitement de l’Information et Modélisation (DTIM) |
Equipe de recherche : Équipe d'accueil doctoral Modélisation et ingénierie des systèmes (Toulouse, Haute-Garonne) | |
Jury : | Président / Présidente : Sylvie Putot |
Examinateurs / Examinatrices : Didier Henrion, Pierre-Loïc Garoche, Sylvie Putot, Yves Bertot, Eric Feron, Sylvie Boldo | |
Rapporteur / Rapporteuse : Sylvie Putot, Yves Bertot |
Mots clés
Mots clés contrôlés
Résumé
Dans l'industrie, l'utilisation de l'optimisation est omniprésente. Elle consiste à calculer la meilleure solution tout en satisfaisant un certain nombre de contraintes. Cependant, ce calcul est complexe, long et pas toujours fiable. C'est pourquoi cette tâche est longtemps restée cantonnée aux étapes de conception, ce qui laissait le temps de faire les calculs puis de vérifier que la solution était correcte et si besoin refaire les calculs. Ces dernières années, grâce à la puissance toujours grandissante des ordinateurs, l'industrie a commencé à intégrer des calculs d'optimisation au cœur des systèmes. C'est-à-dire que des calculs d'optimisation sont effectués en permanence au sein du système, parfois des dizaines de fois par seconde. Par conséquent, il est impossible de s'assurer a posteriori de la correction d'une solution ou de relancer un calcul. C'est pourquoi il est primordial de vérifier que le programme d'optimisation est parfaitement correct et exempt de bogue.L'objectif de cette thèse a été de développer outils et méthodes pour répondre à ce besoin.Pour ce faire, nous avons utilisé la théorie de la preuve formelle qui consiste à considérer un programme comme un objet mathématique. Cet objet prend des informations en entrée et produit un résultat. On peut alors, sous certaines conditions sur les entrées, prouver que le résultat satisfait nos exigences. Notre travail a consisté à choisir un programme d'optimisation puis à prouver formellement que le résultat de ce programme est correct.