Skip to Main content Skip to Navigation

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 - 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 :
Complete list of metadata

Cited literature [140 references]  Display  Hide  Download
Contributor : Thomas Durieux Connect in order to contact the contributor
Submitted on : Friday, September 28, 2018 - 2:52:35 PM
Last modification on : Wednesday, March 23, 2022 - 3:51:22 PM
Long-term archiving on: : Monday, December 31, 2018 - 10:04:29 AM


Files produced by the author(s)


  • HAL Id : tel-01883676, version 1


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



Record views


Files downloads