SEDec 12, 2020

A Software-Repair Robot based on Continual Learning

arXiv:2012.06824v420 citations
AI Analysis

This work addresses the problem of automating software bug correction, which is a significant cost factor in software development and maintenance, for software developers.

This paper introduces R-Hero, a software repair bot that uses continual learning to acquire bug-fixing strategies from continuous streams of source code changes on Github/Travis CI. The authors report initial successes and identify new research challenges in this domain.

Software bugs are common and correcting them accounts for a significant part of costs in the software development and maintenance process. This calls for automatic techniques to deal with them. One promising direction towards this goal is gaining repair knowledge from historical bug fixing examples. Retrieving insights from software development history is particularly appealing with the constant progress of machine learning paradigms and skyrocketing `big' bug fixing data generated through Continuous Integration (CI). In this paper, we present R-Hero, a novel software repair bot that applies continual learning to acquire bug fixing strategies from continuous streams of source code changes, implemented for the single development platform Github/Travis CI. We describe R-Hero, our novel system for learning how to fix bugs based on continual training, and we uncover initial successes as well as novel research challenges for the community.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes