MultiFix: Learning to Repair Multiple Errors by Optimal Alignment Learning
Hyeontae Seo, Yo-Sub Han, Sang‐Ki Ko · 2021
We consider the problem of learning to repair erroneous C programs by learning optimal alignments with correct programs.Since the previous approaches fix a single error in a line, it is inevitable to iterate the fixing process until no errors remain.In this work, we propose a novel sequence-to-sequence learning framework for fixing multiple program errors at a time.We introduce the edit-distancebased data labeling approach for program error correction.Instead of labeling a program repair example by pairing an erroneous program with a line fix, we label the example by paring an erroneous program with an optimal alignment to the corresponding correct program produced by the edit-distance computation.We evaluate our proposed approach on a publicly available dataset (DeepFix dataset) that consists of erroneous C programs submitted by novice programming students.On a set of 6,975 erroneous C programs from the Deep-Fix dataset, our approach achieves the stateof-the-art result in terms of full repair rate on the DeepFix dataset (without extra data such as compiler error message or additional source codes for pre-training).