Automatic analysis and repair of exception bugs for java programs
(Analyse et Réparation automatique des bugs liées aux exceptions en java)

URL d'accès : http://ori-nuxeo.univ-lille1.fr/nuxeo/site/esupver...

Auteur(s):  Cornu, Benoit
Date de soutenance : 26/11/2015
Éditeur(s) : Université Lille1 - Sciences et Technologies 

Langue : Anglais
Directeur(s) de thèse :  Seinturier, Lionel ; Monperrus, Martin
Laboratoire : Centre de recherche en informatique, signal et automatique de Lille (CRIStAL)
Ecole doctorale : École doctorale Sciences pour l'Ingénieur (Lille)

Classification : Informatique
Discipline : Informatique
Mots-clés : Correction automatique de bug
Résilience applicative
Debug (logiciel) -- Automatisation
Traitement d'exceptions (informatique)
Générateurs de code source (logiciels)

Résumé : Le monde est de plus en plus informatisé. Il y a de plus en plus de logiciels en cours d'exécution partout, depuis les ordinateurs personnels aux serveurs de données, et à l'intérieur de la plupart des nouvelles inventions connectées telles que les montres ou les machines à laver intelligentes. Toutes ces technologies utilisent des applications logicielles pour effectuer les taches pour lesquelles elles sont conçus. Malheureusement, le nombre d'erreurs de logiciels croît avec le nombre d'applications logicielles. Dans cette thèse, nous ciblons spécifiquement deux problèmes: Problème n°1: Il ya un manque d'informations de débogage pour les bugs liés à des exceptions. Cela entrave le processus de correction de bogues. Pour rendre la correction des bugs liées aux exceptions plus facile, nous allons proposer des techniques pour enrichir les informations de débogage. Ces techniques sont entièrement automatisées et fournissent des informations sur la cause et les possibilités de gestion des exceptions. Problème n ° 2: Il y a des exceptions inattendues lors de l'exécution pour lesquelles il n'y a pas de code pour gérer l'erreur. En d'autres termes, les mécanismes de résilience actuels contre les exceptions ne sont pas suffisamment efficaces. Nous proposons de nouvelles capacités de résilience qui gérent correctement les exceptions qui n'ont jamais été rencontrées avant. Nous présentons quatre contributions pour résoudre les deux problèmes présentés.


Résumé (anglais) : The world is day by day more computerized. There is more and more software running everywhere, from personal computers to data servers, and inside most of the new popularized inventions such as connected watches or intelligent washing machines. All of those technologies use software applications to perform the services they are designed for. Unfortunately, the number of software errors grows with the number of software applications. In isolation, software errors are often annoyances, perhaps costing one person a few hours of work when their accounting application crashes. Multiply this loss across millions of people and consider that even scientific progress is delayed or derailed by software error: in aggregate, these errors are now costly to society as a whole. We specifically target two problems: Problem #1: There is a lack of debug information for the bugs related to exceptions. This hinders the bug fixing process. To make bug fixing of exceptions easier, we will propose techniques to enrich the debug information. Those techniques are fully automated and provide information about the cause and the handling possibilities of exceptions. Problem #2: There are unexpected exceptions at runtime for which there is no error-handling code. In other words, the resilience mechanisms against exceptions in the currently existing (and running) applications is insufficient. We propose resilience capabilities which correctly handle exceptions that were never foreseen at specification time neither encountered during development or testing. In this thesis, we aim at finding solutions to those problems. We present four contributions to address the two presented problems.


Cité Scientifique BP 30155 59653 VILLENEUVE D'ASCQ CEDEX Tél.:+33 (0)3 20 43 44 10