Thèse soutenue

Technique de programmation par contraintes pour la vérification bornée des programmes : une stratégie non-séquentielle appliquée à un système embarqué critique
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Le-Vinh Nguyen
Direction : Michel RueherHélène Collavizza
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2011
Etablissement(s) : Nice

Mots clés

FR

Résumé

FR  |  
EN

Cette thèse porte sur la vérification bornée des programmes à l’aide de la technique de programmation par contraintes. Plus précisément, sur la stratégie d’exploration incrémentale des chemins exécutables pour la vérification et pour la génération automatique de contre-exemples d’applications. Cela est fait en utilisant les solveurs de contraintes comme les solveurs CP, LP, MIP, SMT. Nous avons utilisé dans ces travaux les méthodes de vérification formelles incomplètes ou Bounded Model Checking (BMC). Ces méthodes traitent uniquement des chemins d’une taille bornée dans les programmes. Dans cette thèse, nous proposons DPVS (Dynamic Postcondition-Variables driven Strategies), une nouvelle stratégie basée sur la génération dynamique d’un système de contraintes lors de l’exploration du graphe de flot de contrôle d’un programme. DPVS utilise une technique de recherche ascendante guidée par les variables liées à la propriété à prouver. Cette stratégie a été évaluée sur des exemples académiques et sur des applications réelles. Les expérimentations sur un contrôleur industriel qui gère les clignotants d’une voiture ont montré que notre système est bien plus performant que CPBPV (une approche proposée au sein de notre équipe) ainsi qu’un outil de model checking de premier plan comme CBMC. Nous avons également développé un prototype en COMET qui utilise la stratégie DPVS pour la vérification de programmes et pour la génération automatique des contre-exemples. Ce prototype utilise plusieurs techniques classiques pour simplifier le graphe de flot de contrôle : calcul de bornes de variables, technique de slicing, technique de propagation de constantes. Grâce à DPVS, nous avons trouvé des contre-exemples pour l’application temps-réel Gestionnaire des clignotants qui est fournie par Gensoft, un partenaire industriel du projet de recherche TESTEC.