Boosting Just-In-Time Code Comment Updating Via Programming Context and Refactor

Xiangbo Mi, Jingxuan Zhang, Yixuan Tang, Yue Ju, Jinpeng Lan · International Journal of Software Engineering and Knowledge Engineering · 2023

Comments are summary descriptions of code snippets. When analyzing and maintaining programs, developers tend to read tidy comments rather than lengthy code. To prevent developers from misunderstanding the program or leading to potential bugs, ensuring the consistency and co-evolution of comments and the corresponding code is an integral development activity in practice. Nevertheless, when modifying code, developers sometimes neglect to update the relevant comments, resulting in inconsistency. Such comments may pose threats to the comprehension and maintenance of the software. In our study, we propose an overall approach named Context and Refactor based Comment Updater (CRCU). CRCU is a Just-In-Time (JIT) comment updater for specific commits. It takes a commit-id as input and updates all the method comments in this commit according to the code change. CRCU could be viewed as an optimization and augmentation of existing comment updaters, especially those that rely only on neural networks. Compared to the existing comment updaters, CRCU fully leverages the programming context and refactoring types of the modified methods to improve its performance. In addition, several customized enhancements in data pre-processing are introduced in CRCU to handle and filter out low-quality commits. We conduct extensive experiments to evaluate the effectiveness of CRCU. The evaluation results show that CRCU combined with the state-of-the-art approaches could improve the average Accuracy by 6.87% and reduce the developers’ edits by 0.298 on average.

Read the paper · More papers on PaperTik