Thèse soutenue

Intégration de méthodes formelles dans la conception des fonctions logicielles automobiles

FR  |  
EN
Auteur / Autrice : Vassil Todorov
Direction : Frédéric Boulanger
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 09/12/2020
Etablissement(s) : université Paris-Saclay
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire de recherche en informatique (Orsay, Essonne ; 1998-2020)
référent : CentraleSupélec (2015-....)
Jury : Président / Présidente : Pascale Le Gall
Examinateurs / Examinatrices : Gérard Berry, Cesare Tinelli, Safouan Taha, Sylvie Putot, Fabrice Kordon, Sylvain Conchon
Rapporteurs / Rapporteuses : Gérard Berry, Cesare Tinelli

Résumé

FR  |  
EN

La part croissante des fonctions d'assistance à la conduite, leur criticité, ainsi que la perspective d'une certification de ces fonctions, rendent nécessaire leur vérification et leur validation avec un niveau d'exigence que le test seul ne peut assurer.Depuis quelques années déjà d’autres domaines comme l’aéronautique ou le ferroviaire sont soumis à des contextes équivalents. Pour répondre à certaines contraintes ils ont localement mis en place des méthodes formelles. Nous nous intéressons aux motivations et aux critères qui ont conduit à l’utilisation des méthodes formelles dans ces domaines afin de les transposer sur des scénarios automobiles et identifier le périmètre potentiel d'application.Dans cette thèse, nous présentons nos études de cas et proposons des méthodologies pour l'usage de méthodes formelles par des ingénieurs non-experts. Le model checking inductif pour un processus de développement utilisant des modèles, l'interprétation abstraite pour démontrer l'absence d'erreurs d'exécution du code et la preuve déductive pour des cas de fonctions critiques de librairie.Enfin, nous proposons de nouveaux algorithmes pour résoudre les problèmes identifiés lors de nos expérimentations. Il s'agit d'une part d'un générateur d'invariants et d'une méthode utilisant la sémantique des données pour traiter efficacement des propriétés comportant du temps long, et d'autre part d'un algorithme efficace pour mesurer la couverture du modèle par les propriétés en utilisant des techniques de mutation.