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

Seminar | 336 | 14:00

Thomas Durieux,



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.
During this talk, we will explore two techniques that remove the human intervention from the automatic patch generation by putting as close as possible the patch generation to the production environment where the data and human interactions that lead to the bug are present. The presented techniques exploit the production data state to detect bugs, generate and validate patches


Ph.D. student since 2015 at University of Lille; M.S. degrees, Computer Science, from the University of Lille; B.A., Computer Science, from Institut Paul Lambin in Belgium. During my studies, I did several internships as well in the industry (Microsoft Innovation Center, Emakina) as in the academic (KTH, CERN). I also created and maintain several open-source projects for research purposes and more.

For more information: