Loading [MathJax]/extensions/MathMenu.js
Rete: Learning Namespace Representation for Program Repair | IEEE Conference Publication | IEEE Xplore

Rete: Learning Namespace Representation for Program Repair


Abstract:

A key challenge of automated program repair is finding correct patches in the vast search space of candidate patches. Real-world programs define large namespaces of varia...Show More

Abstract:

A key challenge of automated program repair is finding correct patches in the vast search space of candidate patches. Real-world programs define large namespaces of variables that considerably contributes to the search space explosion. Existing program repair approaches neglect information about the program namespace, which makes them inefficient and increases the chance of test-overfitting. We propose Rete, a new program repair technique, that learns project-independent information about program namespace and uses it to navigate the search space of patches. Rete uses a neural network to extract project-independent information about variable CDU chains, def-use chains augmented with control flow. Then, it ranks patches by jointly ranking variables and the patch templates into which the variables are inserted. We evaluated Rete on 142 bugs extracted from two datasets, ManyBugs and BugsInPy. Our experiments demonstrate that ReTe generates six new correct patches that fix bugs that previous tools did not repair, an improvement of 31% and 59% over the existing state of the art.
Date of Conference: 14-20 May 2023
Date Added to IEEE Xplore: 14 July 2023
ISBN Information:

ISSN Information:

Conference Location: Melbourne, Australia

Contact IEEE to Subscribe

References

References is not available for this document.