Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar

About

We introduce NSEdit (neural-symbolic edit), a novel Transformer-based code repair method. Given only the source code that contains bugs, NSEdit predicts an editing sequence that can fix the bugs. The edit grammar is formulated as a regular language, and the Transformer uses it as a neural-symbolic scripting interface to generate editing programs. We modify the Transformer and add a pointer network to select the edit locations. An ensemble of rerankers are trained to re-rank the editing sequences generated by beam search. We fine-tune the rerankers on the validation set to reduce over-fitting. NSEdit is evaluated on various code repair datasets and achieved a new state-of-the-art accuracy ($24.04\%$) on the Tufano small dataset of the CodeXGLUE benchmark. NSEdit performs robustly when programs vary from packages to packages and when buggy programs are concrete. We conduct detailed analysis on our methods and demonstrate the effectiveness of each component.

Yaojie Hu, Xingjian Shi, Qiang Zhou, Lee Pike• 2022

Related benchmarks

TaskDatasetResultRank
Code RepairTufano Small Abstract 2019 (test)
Top-1 Accuracy24.04
6
Code RepairTufano Medium Abstract 2019 (test)
Top-1 Exact Match Accuracy13.87
6
Code RepairTufano Small Concrete 2019 (test)
Top-1 Acc23.86
2
Code RepairTufano Medium Concrete 2019 (test)
Top-1 Acc13.46
2
Showing 4 of 4 rows

Other info

Follow for update