Configurable automated program repair in continuous integration

Implementation-oriented individual or group project
Keywords: automatic bug fixing, continuous integration

Continuous integration (CI) is a practice of frequently merging all developers' working copies to prevent integration problems. CI systems, such as Jenkins and Travis CI, automate this process by building, testing and analyzing code that developers submit to the source code repository. Automated program repair is an emerging technology that aim to automatically fix software bugs. Typically, automated program repair systems define a set of possible source code modification and search for a modification that makes the failing tests pass. The aim of this project is to combine program repair and CI, so that developers could automatically receive patch suggestions for bugs found during continuous integration. Specifically, we will implement a program repair system and integrate it into Eclipse Repairnator. The main novelty of the proposed system is that it will allow users to define bugfixing rules for various classes of bugs, similarly to static analysis tools such as PMD.

Goals

Required skills

Relevant links & publications