UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Rete: Learning Namespace Representation for Program Repair

Parasaram, Nikhil; Barr, Earl T; Mechtaev, Sergey; (2023) Rete: Learning Namespace Representation for Program Repair. In: Proceedings of the IEEE/ACM 45th International Conference on Software Engineering (ICSE) 2023. (pp. pp. 1264-1276). Institute of Electrical and Electronics Engineers (IEEE) Green open access

[thumbnail of icse23.pdf]
Preview
Text
icse23.pdf - Accepted Version

Download (384kB) | Preview

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.

Type: Proceedings paper
Title: Rete: Learning Namespace Representation for Program Repair
Event: 45th IEEE/ACM International Conference on Software Engineering (ICSE) 2023
Location: Melbourne, Australia
Dates: 14th-20th May 2023
ISBN-13: 978-1-6654-5701-9
Open access status: An open access version is available from UCL Discovery
DOI: 10.1109/ICSE48619.2023.00112
Publisher version: https://doi.org/10.1109/ICSE48619.2023.00112
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher's terms and conditions.
Keywords: Program Repair, Deep Learning, Patch Prioritisation, Variable Representation
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10176629
Downloads since deposit
132Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item