Summarizing Source Code with Transferred API Knowledge

Summarizing Source Code with Transferred API Knowledge

Xing Hu, Ge Li, Xin Xia, David Lo, Shuai Lu, Zhi Jin

Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence
Main track. Pages 2269-2275. https://doi.org/10.24963/ijcai.2018/314

Code summarization, aiming to generate succinct natural language description of source code, is extremely useful for code search and code comprehension. It has played an important role in software maintenance and evolution. Previous approaches generate summaries by retrieving summaries from similar code snippets. However, these approaches heavily rely on whether similar code snippets can be retrieved, how similar the snippets are, and fail to capture the API knowledge in the source code, which carries vital information about the functionality of the source code. In this paper, we propose a novel approach, named TL-CodeSum, which successfully uses API knowledge learned in a different but related task to code summarization. Experiments on large-scale real-world industry Java projects indicate that our approach is effective and outperforms the state-of-the-art in code summarization.
Keywords:
Machine Learning: Transfer, Adaptation, Multi-task Learning
Machine Learning: Deep Learning
Machine Learning Applications: Applications of Supervised Learning