Thèse soutenue

Extraction et analyse de connaissance pour la réparation automatique de bugs

FR  |  
EN
Auteur / Autrice : Matias Martinez
Direction : Laurence DuchienMartin Monperrus
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 10/10/2014
Etablissement(s) : Lille 1
Ecole(s) doctorale(s) : École doctorale Sciences pour l'ingénieur (Lille)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique fondamentale de Lille (2002-2014)

Mots clés

FR

Résumé

FR  |  
EN

La correction d'un bogue est une activité fréquente fait dans le cycle de vie du logiciel. L'activité vise à éliminer l'écart entre le comportement attendu d'un programme et ce qu'il fait réellement. Dans les dernières années, plusieurs approches automatiques de réparation de logiciels ont vu le jour pour synthétiser automatiquement des corrections de bugs. Malheureusement, la correction de bugs pourrait être encore difficile et coûteux pour les approches automatiques programme de réparation. Par exemple, pour réparer un bogue, une approche pourrait passer un temps infini à trouver une solution auprès d'un grand nombre de candidats. Dans cette thèse, nous visons à améliorer la réparabilité de bogues: augmenter le nombre de bogues réparés par des approches de réparation. Nous visons à ajouter réparation approches des stratégies pour optimiser la recherche de solutions. Nous présentons une stratégie qui consomme informations extraites de réparations effectuées par les développeurs. Ensuite, nous nous concentrons sur l'évaluation des méthodes de réparation automatique. Nous visons à introduire des procédures pour avoir significative évaluations d'approches.Nous définissons d'abord une méthode pour définir des jeux de données de défauts qui réduisent au minimum la possibilité de résultats biaisés. La manière dont un jeu de données est construite impacts sur le résultat d'une évaluation de l'approche. Nous présentons un jeu de données qui comprend un type particulier de défaut: les défauts instructions conditionnelles. Ensuite, nous cherchons à mesurer la réparabilité de ce type de défaut en évaluant trois approches de réparation automatique du logiciel.