On Oracles for Automated Diagnosis and Repair of Software Bugs

by Martin Monperrus
Abstract: This habilitation thesis 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.
 View PDF
Open-access (on archives-ouvertes.fr)
Other publications of Martin Monperrus

Cite it:

Martin Monperrus, "On Oracles for Automated Diagnosis and Repair of Software Bugs", 2016.
On Oracles for Automated Diagnosis and Repair of Software Bugs

Bibtex Entry:

 title = {{On Oracles for Automated Diagnosis and Repair of Software Bugs}},
 author = {Monperrus, Martin},
 url = {https://tel.archives-ouvertes.fr/tel-01321718/file/hdr-monperrus-martin.pdf},
 school = {{Universit{\'e} de Lille }},
 year = {2016},
 type = {Habilitation {\`a} diriger des recherches},
 howpublished = {Habilitation à diriger des recherches},
Powered by bibtexbrowser
Tagged as: