MUFIN: Improving Neural Repair Models with Back-Translation

04/05/2023
by   André Silva, et al.
0

Automated program repair is the task of automatically repairing software bugs. A promising direction in this field is self-supervised learning, a learning paradigm in which repair models are trained without commits representing pairs of bug/fix. In self-supervised neural program repair, those bug/fix pairs are generated in some ways. The main problem is to generate interesting and diverse pairs that maximize the effectiveness of training. As a contribution to this problem, we propose to use back-translation, a technique coming from neural machine translation. We devise and implement MUFIN, a back-translation training technique for program repair, with specifically designed code critics to select high-quality training samples. Our results show that MUFIN's back-translation loop generates valuable training samples in a fully automated, self-supervised manner, generating more than half-a-million pairs of bug/fix. The code critic design is key because of a fundamental trade-off between how restrictive a critic is and how many samples are available for optimization during back-translation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/26/2021

Self-Supervised Bug Detection and Repair

Machine learning-based program analyses have recently shown the promise ...
research
12/18/2018

Learning to Generate Corrective Patches using Neural Machine Translation

Bug fixing is generally a manually-intensive task. However, recent work ...
research
07/17/2022

Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learning

Due to the promising future of Automated Program Repair (APR), researche...
research
09/15/2023

Practical Program Repair via Preference-based Ensemble Strategy

To date, over 40 Automated Program Repair (APR) tools have been designed...
research
05/29/2023

Controllable Path of Destruction

Path of Destruction (PoD) is a self-supervised method for learning itera...
research
12/24/2018

SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair

This paper presents a novel end-to-end approach to program repair based ...
research
02/22/2022

Neural Program Repair: Systems, Challenges and Solutions

Automated Program Repair (APR) aims to automatically fix bugs in the sou...

Please sign up or login with your details

Forgot password? Click here to reset