ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair
Fuente:
arXiv
Guardado en:
| Autores principales: | , , , , |
|---|---|
| Formato: | Preprint |
| Publicado: |
2019
|
| Materias: | |
| Acceso en línea: | |
| Etiquetas: |
Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
| _version_ | 1866911791828697088 |
|---|---|
| author | Lutellier, Thibaud Pang, Lawrence Pham, Viet Hung Wei, Moshi Tan, Lin |
| author_facet | Lutellier, Thibaud Pang, Lawrence Pham, Viet Hung Wei, Moshi Tan, Lin |
| contents | Automated generate-and-validate (G&V) program repair techniques typically rely on hard-coded rules, only fix bugs following specific patterns, and are hard to adapt to different programming languages. We propose ENCORE, a new G&V technique, which uses ensemble learning on convolutional neural machine translation (NMT) models to automatically fix bugs in multiple programming languages.
We take advantage of the randomness in hyper-parameter tuning to build multiple models that fix different bugs and combine them using ensemble learning. This new convolutional NMT approach outperforms the standard long short-term memory (LSTM) approach used in previous work, as it better captures both local and long-distance connections between tokens.
Our evaluation on two popular benchmarks, Defects4J and QuixBugs, shows that ENCORE fixed 42 bugs, including 16 that have not been fixed by existing techniques. In addition, ENCORE is the first G&V repair technique to be applied to four popular programming languages (Java, C++, Python, and JavaScript), fixing a total of 67 bugs across five benchmarks. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_1906_08691 |
| institution | arXiv |
| publishDate | 2019 |
| record_format | arxiv |
| spellingShingle | ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair Lutellier, Thibaud Pang, Lawrence Pham, Viet Hung Wei, Moshi Tan, Lin Software Engineering Machine Learning Automated generate-and-validate (G&V) program repair techniques typically rely on hard-coded rules, only fix bugs following specific patterns, and are hard to adapt to different programming languages. We propose ENCORE, a new G&V technique, which uses ensemble learning on convolutional neural machine translation (NMT) models to automatically fix bugs in multiple programming languages. We take advantage of the randomness in hyper-parameter tuning to build multiple models that fix different bugs and combine them using ensemble learning. This new convolutional NMT approach outperforms the standard long short-term memory (LSTM) approach used in previous work, as it better captures both local and long-distance connections between tokens. Our evaluation on two popular benchmarks, Defects4J and QuixBugs, shows that ENCORE fixed 42 bugs, including 16 that have not been fixed by existing techniques. In addition, ENCORE is the first G&V repair technique to be applied to four popular programming languages (Java, C++, Python, and JavaScript), fixing a total of 67 bugs across five benchmarks. |
| title | ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair |
| topic | Software Engineering Machine Learning |
| url | https://arxiv.org/abs/1906.08691 |