From Runtime Failures to Patches: Study of Patch Generation in Production

Thomas Durieux 1
1 SPIRALS - Self-adaptation for distributed services and large software systems
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : Patch creation is one of the most important actions in the life cycle of an application. Creating patches is a time-consuming task. Not only because it is difficult to create a sound and valid patch, but also because it requires the intervention of humans. Indeed, a user must report the bug, and a developer must reproduce it and fix it, which takes much time. To address this problem, techniques that automate this task have been created. However, those techniques still require a developer to reproduce the bug and encode it as a failing test case. This requirement drastically reduces the applicability of the approaches since it still relies on humans. This thesis proposes new patch generation techniques that remove the human intervention for the patch generation. Our idea is to put as close as possible the patch generation in the production environment. We adopt this approach because the production environment contains all the data and human interactions that lead to the bug. In this thesis, we show how to exploit this data to detect bugs, generate and validate patches. We evaluate this approach on seven different benchmarks of real bugs collected from open-source projects. During the evaluation, we are particularly attentive to the number of generated patches, to their correctness, readability and to the time required for generating them. Our evaluation shows the applicability and feasibility of our approach to generate patches in the production environment without the intervention of a developer.
Document type :
Theses
Complete list of metadatas

Cited literature [118 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01883676
Contributor : Thomas Durieux <>
Submitted on : Friday, September 28, 2018 - 2:52:35 PM
Last modification on : Friday, May 17, 2019 - 11:40:04 AM
Long-term archiving on : Monday, December 31, 2018 - 10:04:29 AM

File

thomas_durieux_thesis.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : tel-01883676, version 1

Citation

Thomas Durieux. From Runtime Failures to Patches: Study of Patch Generation in Production. Software Engineering [cs.SE]. University of Lille, 2018. English. ⟨tel-01883676⟩

Share

Metrics

Record views

200

Files downloads

299