How to Design a Program Repair Bot? Insights from the Repairnator Project

Abstract : Program repair research has made tremendous progress over the last few years, and software development bots are now being invented to help developers gain productivity. In this paper, we investigate the concept of a “program repair bot” and present Repairnator. The Repairnator bot is an autonomous agent that constantly monitors test failures, reproduces bugs, and runs program repair tools against each reproduced bug. If a patch is found, Repairnator bot reports it to the developers. At the time of writing, Repairnator uses three different program repair systems and has been operating since February 2017. In total, it has studied 11 523 test failures over 1 609 open-source software projects hosted on GitHub, and has generated patches for 15 different bugs. Over months, we hit a number of hard technical challenges and had to make various design and engineering decisions. This gives us a unique experience in this area. In this paper, we reflect upon Repairnator in order to share this knowledge with the automatic program repair community.
Document type :
Conference papers
Complete list of metadatas

Cited literature [34 references]  Display  Hide  Download

https://hal.inria.fr/hal-01691496
Contributor : Lionel Seinturier <>
Submitted on : Tuesday, January 30, 2018 - 11:25:58 AM
Last modification on : Thursday, March 21, 2019 - 2:50:32 PM
Long-term archiving on : Friday, May 25, 2018 - 9:35:21 AM

File

_ICSE_SEIP__How_to_Design_a_Pr...
Files produced by the author(s)

Identifiers

Citation

Simon Urli, Zhongxing Yu, Lionel Seinturier, Martin Monperrus. How to Design a Program Repair Bot? Insights from the Repairnator Project. ICSE 2018 - 40th International Conference on Software Engineering, Track Software Engineering in Practice (SEIP), May 2018, Gothenburg, Sweden. pp.1-10, ⟨10.1145/nnnnnnn.nnnnnnn⟩. ⟨hal-01691496v2⟩

Share

Metrics

Record views

171

Files downloads

96