On Oracles for Automated Diagnosis and ...
Type de document :
Habilitation à diriger des recherches
Titre :
On Oracles for Automated Diagnosis and Repair of Software Bugs
Titre en anglais :
On Oracles for Automated Diagnosis and Repair of Software Bugs
Auteur(s) :
Monperrus, Martin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Directeur(s) de thèse :
Jean-Paul Delahaye (président)
Date de soutenance :
2016-05-03
Président du jury :
Yves Ledru (rapporteur)
Martin Rinard (rapporteur)
Walter Tichy (rapporteur)
Laurence Duchien (garante)
Martin Rinard (rapporteur)
Walter Tichy (rapporteur)
Laurence Duchien (garante)
Membre(s) du jury :
Yves Ledru (rapporteur)
Martin Rinard (rapporteur)
Walter Tichy (rapporteur)
Laurence Duchien (garante)
Martin Rinard (rapporteur)
Walter Tichy (rapporteur)
Laurence Duchien (garante)
Organisme de délivrance :
Université de Lille
Mot(s)-clé(s) :
génie logiciel
Mot(s)-clé(s) en anglais :
software engineering
dynamic analysis
debug
repair
dynamic analysis
debug
repair
Discipline(s) HAL :
Informatique [cs]/Génie logiciel [cs.SE]
Résumé en anglais : [en]
This HDR focuses on my work on automatic diagnosis and repair done over the past years. Among my past publications, it highlights three contributions on this topic, respectively published in ACM Transactions on Software ...
Lire la suite >This HDR focuses on my work on automatic diagnosis and repair done over the past years. Among my past publications, it highlights three contributions on this topic, respectively published in ACM Transactions on Software Engineering and Methodology (TOSEM), IEEE Transactions on Software Engineering (TSE) and Elsevier Information & Software Technology (IST). My goal is to show that those three contributions share something deep, that they are founded on a unifying concept, which is the one of oracle. The first contribution is about statistical oracles. In the context of object-oriented software, we have defined a notion of context and normality that is specific to a fault class: missing method calls. Those inferred regularities act as oracle and their violations are considered as bugs. The second contribution is about test case based oracles for automatic repair. We describe an automatic repair system that fixes failing test cases by generating a patch. It is founded on the idea of refining the knowledge given by the violation of the oracle of the failing test case into finer-grain information, which we call a “micro-oracle”. By considering micro-oracles, we are capable of obtaining at the same time a precise fault localization diagnostic and a well-formed input-output specification to be used for program synthesis in order to repair a bug. The third contribution discusses a novel generic oracle in the context of exception handling. A generic oracle states properties that hold for many domains. Our technique verifies the compliance to this new oracle using test suite execution and exception injection. This document concludes with a research agenda about the future of engineering ultra-dependable and antifragile software systems.Lire moins >
Lire la suite >This HDR focuses on my work on automatic diagnosis and repair done over the past years. Among my past publications, it highlights three contributions on this topic, respectively published in ACM Transactions on Software Engineering and Methodology (TOSEM), IEEE Transactions on Software Engineering (TSE) and Elsevier Information & Software Technology (IST). My goal is to show that those three contributions share something deep, that they are founded on a unifying concept, which is the one of oracle. The first contribution is about statistical oracles. In the context of object-oriented software, we have defined a notion of context and normality that is specific to a fault class: missing method calls. Those inferred regularities act as oracle and their violations are considered as bugs. The second contribution is about test case based oracles for automatic repair. We describe an automatic repair system that fixes failing test cases by generating a patch. It is founded on the idea of refining the knowledge given by the violation of the oracle of the failing test case into finer-grain information, which we call a “micro-oracle”. By considering micro-oracles, we are capable of obtaining at the same time a precise fault localization diagnostic and a well-formed input-output specification to be used for program synthesis in order to repair a bug. The third contribution discusses a novel generic oracle in the context of exception handling. A generic oracle states properties that hold for many domains. Our technique verifies the compliance to this new oracle using test suite execution and exception injection. This document concludes with a research agenda about the future of engineering ultra-dependable and antifragile software systems.Lire moins >
Langue :
Anglais
Collections :
Source :
Fichiers
- https://tel.archives-ouvertes.fr/tel-01321718/document
- Accès libre
- Accéder au document
- https://tel.archives-ouvertes.fr/tel-01321718/document
- Accès libre
- Accéder au document
- https://tel.archives-ouvertes.fr/tel-01321718/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- hdr-monperrus-martin.pdf
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- hdr-monperrus-martin.pdf
- Accès libre
- Accéder au document