On Oracles for Automated Diagnosis and Repair of Software Bugs - Archive ouverte HAL Access content directly
Habilitation À Diriger Des Recherches Year : 2016

On Oracles for Automated Diagnosis and Repair of Software Bugs


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.
Fichier principal
Vignette du fichier
hdr-monperrus-martin.pdf (1.23 Mo) Télécharger le fichier

Dates and versions

tel-01321718 , version 1 (26-05-2016)


  • HAL Id : tel-01321718 , version 1


Martin Monperrus. On Oracles for Automated Diagnosis and Repair of Software Bugs. Software Engineering [cs.SE]. Université de Lille 2016. ⟨tel-01321718⟩
864 View
913 Download


Gmail Facebook X LinkedIn More