Publication | Open Access
ENCORE: Ensemble Learning using Convolution Neural Machine Translation\n for Automatic Program Repair
10
Citations
0
References
2019
Year
Automated generate-and-validate (G&V) program repair techniques typically\nrely on hard-coded rules, only fix bugs following specific patterns, and are\nhard to adapt to different programming languages. We propose ENCORE, a new G&V\ntechnique, which uses ensemble learning on convolutional neural machine\ntranslation (NMT) models to automatically fix bugs in multiple programming\nlanguages.\n We take advantage of the randomness in hyper-parameter tuning to build\nmultiple models that fix different bugs and combine them using ensemble\nlearning. This new convolutional NMT approach outperforms the standard long\nshort-term memory (LSTM) approach used in previous work, as it better captures\nboth local and long-distance connections between tokens.\n Our evaluation on two popular benchmarks, Defects4J and QuixBugs, shows that\nENCORE fixed 42 bugs, including 16 that have not been fixed by existing\ntechniques. In addition, ENCORE is the first G&V repair technique to be applied\nto four popular programming languages (Java, C++, Python, and JavaScript),\nfixing a total of 67 bugs across five benchmarks.\n