Page 202 - 《软件学报》2021年第7期
P. 202
2120 Journal of Software 软件学报 Vol.32, No.7, July 2021
[9]
量,并成为该问题当前的一个主流研究方向 .其中,Iyer 等人 [10] 在 2016 年首次基于深度学习中的序列到序列模
型,提出了 CODE-NN 方法.后续相关研究基本上都集中于利用神经机器翻译领域的最新研究成果以解决该问
题,重点集中于学习代码结构信息和自然语言描述间的隐含关系,并取得了较好的注释生成效果.不难看出,针
对代码注释自动生成问题的研究涉及到多个不同的研究领域,例如:软件工程、程序分析、深度学习、信息检
索和自然语言处理等,因此代码注释自动生成问题可以认为是一个多领域交叉的研究问题.
为了对该问题的已有研究工作和取得的成果进行系统的梳理,我们首先确定了 source code summarization、
summarizing source code、generating summary comments、summarization of source code、comment generation、
commit message generation、generating commit messages 等关键词.随后我们选择如下论文数据库,通过输入上
述关键词来检索与综述主题相关的论文.
IEEE Xplore Digital Library (https://ieeexplore.ieee.org)
ACM Digital Library (https://portal.acm.org)
Science Direct Digital Library (https://www.sciencedirect.com)
Springer Link Digital Library (https://link.springer.com)
Wiley Online Library (https://www.onlinelibrary.wiley.com)
基于上述论文数据库中检索出来的相关文献,我们在人工筛选方法的基础上,通过分析论文的标题、关键
词和摘要等来识别并移除与综述主题无关的论文.然后通过谷歌学术和 DBLP 等学术搜索引擎来查阅被选中
论文的被引用情况和相关研究人员已发表论文的清单,以进一步补充相关论文.最后我们确定了与该综述主题
直接相关的高质量论文共 70 篇(截止到 2020 年 7 月).
我们首先将每年累计发表的论文总数进行统计,结果如图 1 所示.不难看出,从 2009 年开始,与综述主题相
关的研究工作逐步增多,尤其是在 2019 年,仅当年就有 14 篇论文发表.因此可以认为该问题是程序理解领域近
些年来的一个热点研究问题.
Fig.1 Cumulative number of published papers for each year
图 1 相关论文每年累计发表的论文数
随后我们按照论文的发表源进行统计,结果见表 1.在表 1 中,首先按照 CCF(中国计算机协会)列表推荐的期
刊/会议的等级进行排序,如果等级相同,则进一步按照发表源累计发表的论文数从高到低进行排序.基于表 1,我
们发现大部分研究工作发表在软件工程领域的权威期刊和会议上,其中在 ICPC 会议、ASE 会议和 ICSE 会议
上发表的论文数最多,分别达到 12 篇、10 篇和 7 篇.这里需要注意的是,ICPC 会议是程序理解领域研究人员公
认的权威会议,该会议每年集中收录与程序理解相关的研究工作.除此之外,在人工智能领域和自然语言处理领
域等也有相关研究工作发表.例如,在 ACL 会议、WWW 会议和 IJCAI 会议上均有两篇论文发表.
通过分析相关研究人员,我们发现目前在该研究问题上最为活跃的是来自美国圣母大学(University of
Notre Dame)的 Collin McMillan 教授所领导的研究小组.同时我们也注意到,国内研究人员在该研究问题上也日
趋活跃,目前来自浙江大学、北京大学、南京大学、北京航空航天大学、南方科技大学等国内高校的研究人员
都有高质量的研究成果发表.除此之外,该研究问题也是软件工程领域里的一个热点话题,据我们所知,目前有 5