基于神经网络融合模型的源代码注释自动生成
2021-04-22周其林刘旭东
空间控制技术与应用 2021年2期
关键词:模型
周其林, 王 旭, 刘旭东
1. 中国人民大学新闻传播实验中心, 北京 100872 2. 北京航空航天大学计算机学院, 北京 100191 3. 北京航空航天大学大数据科学与脑机智能高精尖创新中心, 北京 100191
0 引 言
研究发现,在软件维护和演化过程中,开发者会耗费大量的时间来阅读和理解源代码片段,为了节省时间,开发者通常采用阅读功能性注释或仅阅读关键代码两种策略[1]. 但这两种方法并不总是高效,SourceForge、GitHub、Google Code等超大规模的软件库上包含海量的软件和信息[2],里面众多代码片段缺少相应的功能注释,自动生成源代码的注释可以帮助开发者了解代码功能,实现关键代码的快速定位.
代码注释自动生成是一种面向软件代码的自然语言生成系统 (natural language generation),使用程序语言片段作为输入,生成该代码片段相应的功能注释. 传统的代码注释生成遵循自然语言生成的一般模式,工作流程包括两个部分:内容选择与文本生成. 内容选择部分检索当前代码片段最相关的文本,注释生成部分使用检索到的文本内容生成代码注释[3]. 内容选择常采用关键词抽取[4]、主题模型[5-7]等方法,这个阶段的文本生成并不过分强调生成注释的流畅性,对代码功能的准确表达是更重要的目标,注释的表示形式有以关键词组合[4],以主题词和关键词作为代码注释描述[6]等方式.该类注释生成方法存在较大缺陷,一是生成的文本注释可读性不好、流畅度差,二是缺少对代码词法、语法等深层信息的利用.
随着……
登录APP查看全文
