Combinaison des techniques de Bounded Model Checking et de programmation par contraintes pour l'aide à la localisation d'erreurs : exploration des capacités des CSP pour la localisation d'erreurs

par Mohammed Bekkouche

Thèse de doctorat en Informatique

Sous la direction de Michel Rueher et de Hélène Collavizza.

Soutenue le 11-12-2015

à Nice , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Sophia Antipolis, Alpes-Maritimes) , en partenariat avec Laboratoire Informatique, signaux et systèmes (Sophia Antipolis, Alpes-Maritimes) (laboratoire) et de Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (laboratoire) .

Le président du jury était Frédéric Precioso.

Le jury était composé de Michel Rueher, Hélène Collavizza, Frédéric Precioso, Laurence Pierre, Fabrice Bouquet, Yahia Lebbah.

Les rapporteurs étaient Laurence Pierre, Fabrice Bouquet.


  • Résumé

    Un vérificateur de modèle peut produire une trace de contreexemple, pour un programme erroné, qui est souvent difficile à exploiter pour localiser les erreurs dans le code source. Dans ma thèse, nous avons proposé un algorithme de localisation d'erreurs à partir de contreexemples, nommé LocFaults, combinant les approches de Bounded Model Checking (BMC) avec un problème de satisfaction de contraintes (CSP). Cet algorithme analyse les chemins du CFG (Control Flow Graph) du programme erroné pour calculer les sous-ensembles d'instructions suspectes permettant de corriger le programme. En effet, nous générons un système de contraintes pour les chemins du graphe de flot de contrôle pour lesquels au plus k instructions conditionnelles peuvent être erronées. Ensuite, nous calculons les MCSs (Minimal Correction Sets) de taille limitée sur chacun de ces chemins. La suppression de l'un de ces ensembles de contraintes donne un sous-ensemble satisfiable maximal, en d'autres termes, un sous-ensemble maximal de contraintes satisfaisant la postcondition. Pour calculer les MCSs, nous étendons l'algorithme générique proposé par Liffiton et Sakallah dans le but de traiter des programmes avec des instructions numériques plus efficacement. Cette approche a été évaluée expérimentalement sur des programmes académiques et réalistes.

  • Titre traduit

    Combining techniques of Bounded Model Checking and constraint programming to aid for error localization : exploration of CSP capacities for error localization


  • Résumé

    A model checker can produce a trace of counter-example for erroneous program, which is often difficult to exploit to locate errors in source code. In my thesis, we proposed an error localization algorithm from counter-examples, named LocFaults, combining approaches of Bounded Model-Checking (BMC) with constraint satisfaction problem (CSP). This algorithm analyzes the paths of CFG (Control Flow Graph) of the erroneous program to calculate the subsets of suspicious instructions to correct the program. Indeed, we generate a system of constraints for paths of control flow graph for which at most k conditional statements can be wrong. Then we calculate the MCSs (Minimal Correction Sets) of limited size on each of these paths. Removal of one of these sets of constraints gives a maximal satisfiable subset, in other words, a maximal subset of constraints satisfying the postcondition. To calculate the MCSs, we extend the generic algorithm proposed by Liffiton and Sakallah in order to deal with programs with numerical instructions more efficiently. This approach has been experimentally evaluated on a set of academic and realistic programs.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.