Jointly Learning to Repair Code and Generate Commit Message
- Jiaqi Bai ,
- Long Zhou ,
- Ambrosio Blanco ,
- Shujie Liu ,
- Furu Wei ,
- Ming Zhou ,
- Zhoujun Li
2021 Empirical Methods in Natural Language Processing |
We propose a novel task of jointly repairing program codes and generating commit messages. Code repair and commit message generation are two essential and related tasks for software development. However, existing work usually performs the two tasks independently. We construct a multilingual triple dataset including buggy code, fixed code, and commit messages for this novel task. We provide the cascaded models as baseline, which are enhanced with different training approaches, including the teacher-student method, the multi-task method, and the backtranslation method. To deal with the error
propagation problem of the cascaded method, the joint model is proposed that can both repair the code and generate the commit message in a unified framework. Experimental results show that the enhanced cascaded model with teacher-student method and multitask-learning method achieves the best score on different metrics of automated code repair, and the joint model behaves better than the cascaded model
on commit message generation.