Survey on Neural Network-based Automatic Source Code Summarization Technologies

被引:0
|
作者
Song X.-T. [1 ]
Sun H.-L. [2 ,3 ,4 ]
机构
[1] College of Software, Taiyuan University of Technology, Taiyuan
[2] State Key Laboratory of Software Development Environment (Beihang University), Beijing
[3] School of Software, Beihang University, Beijing
[4] Beijing Advanced Innovation Center for Big Data and Brain Computing (Beihang University), Beijing
来源
Ruan Jian Xue Bao/Journal of Software | 2022年 / 33卷 / 01期
基金
中国国家自然科学基金;
关键词
Deep learning; Intelligent software engineering; Neural network; Program comprehension; Source code summarization;
D O I
10.13328/j.cnki.jos.006337
中图分类号
学科分类号
摘要
Source code summaries can help software developers comprehend programs faster and better, and assist maintenance developers in accomplishing their tasks efficiently. Since writing summaries by programmers is of high cost and low efficiency, researchers have tried to summarize source code automatically. In recent years, the technologies of neural network-based automatic summarization of source code have become the mainstream techniques of automatic source code summarization, and it is a hot research topic in the domain of intelligent software engineering. Firstly, this paper describes the concept of source code summarization and the definition of automatic source code summarization, presents its development history, and reviews the methods and metrics of the quality evaluation of the generated summaries. Then, it analyzes the general framework and the main challenges of neural network-based automatic code summarization algorithms. In addition, it focuses on the classification of representative algorithms, the design principle, characteristics, and restrictions of each category of algorithms. Finally, it discusses and looks forward to the trends on techniques of neural network-based source code summarization in future. © Copyright 2022, Institute of Software, the Chinese Academy of Sciences. All rights reserved.
引用
收藏
页码:55 / 77
页数:22
相关论文
共 97 条
  • [31] Moreno L, Aponte J, Sridhara G, Marcus A, Pollock L, Vijay-Shanker K., Automatic generation of natural language summaries for Java classes, Proc. of the 21st Int'l Conf. on Program Comprehension, pp. 23-32, (2013)
  • [32] Moreno L, Marcus A, Pollock L, Vijay-Shanker K., JSummarizer: An automatic generator of natural language summaries for Java classes, Proc. of the 21st Int'l Conf. on Program Comprehension, pp. 230-232, (2013)
  • [33] Malhotra M, Chhabra JK., Class level code summarization based on dependencies and micro patterns, 2018 2nd Int'l Conf. on Inventive Communication and Computational Technologies (ICICCT), pp. 1011-1016, (2018)
  • [34] LeClair A, Jiang SY, McMillan C., A neural model for generating natural language summaries of program subroutines, Proc. of the IEEE/ACM 41st Int'l Conf. on Software Engineering, pp. 795-806, (2019)
  • [35] Haque S, LeClair A, Wu LF, McMillan C., Improved automatic summarization of subroutines via attention to file context, Proc. of the 17th Int'l Conf. on Mining Software Repositories, pp. 300-310, (2020)
  • [36] Liu MW, Peng X, Marcus A, Xing ZC, Xie WK, Xing SS, Liu Y., Generating query-specific class API summaries, Proc. of the 27th ACM Joint Meeting on European Software Engineering Conf. and Symp. on the Foundations of Software Engineering, pp. 120-130, (2019)
  • [37] Wan Y, Zhao Z, Yang M, Xu GD, Ying HC, Wu J, Yu PS., Improving automatic source code summarization via deep reinforcement learning, Proc. of the 33rd ACM/IEEE Int'l Conf. on Automated Software Engineering, pp. 397-407, (2018)
  • [38] Hu X, Li G, Xia X, Lo D, Jin Z., Deep code comment generation, Proc. of the 26th ACM/IEEE Conf. on Program Comprehension (ICPC), pp. 200-210, (2018)
  • [39] Binkley D, Lawrie D, Hill E, Burge J, Harris I, Hebig R, Keszocze O, Reed K, Slankas J., Task-driven software summarization, Proc. of the 2013 IEEE Int'l Conf. on Software Maintenance, pp. 432-435, (2013)
  • [40] Iyer S, Konstas I, Cheung A, Zettlemoyer L., Summarizing source code using a neural attention model, Proc. of the 54th Annual Meeting of the Association for Computational Linguistics, pp. 2073-2083, (2016)