首页|基于神经网络和信息检索的源代码注释生成

基于神经网络和信息检索的源代码注释生成

扫码查看
源代码注释生成旨在为源代码生成精确的自然语言注释,帮助开发者更好地理解和维护源代码.传统的研究方法利用信息检索技术来生成源代码摘要,从初始源代码选择相应的词或者改写相似代码段的摘要;最近的研究采用机器翻译的方法,选择编码器-解码器的神经网络模型生成代码段的摘要.现有的注释生成方法主要存在两个问题:一方面,基于神经网络的方法对于代码段中出现的高频词更加友好,但是往往会弱化低频词的处理;另一方面,编程语言是高度结构化的,所以不能简单地将源代码作为序列化文本处理,容易造成上下文结构信息丢失.因此,本文为了解决低频词问题提出了基于检索的神经机器翻译方法,使用训练集中检索到的相似代码段来增强神经网络模型;为了学习代码段的结构化语义信息,本文提出结构化引导的Transformer,该模型通过注意力机制将代码结构信息进行编码.经过实验,结果证明该模型在低频词和结构化语义的处理上对比当下前沿的代码注释生成的深度学习模型具有显著的优势.
Source Code Summarization Based on Neural Network and Information Retrieval

code summarizationabstract syntax tree(AST)Transformersemantic similarityself-attention mechanismprogramming comprehension

沈鑫、周宇

展开 >

南京航空航天大学计算机科学与技术学院,南京210016

南京航空航天大学高安全系统的软件开发与验证技术工信部重点实验室,南京210016

代码注释生成 抽象语法树 Transformer 语义相似度 自注意力机制 程序理解

国家自然科学基金江苏省自然科学基金

61972197BK20201292

2023

计算机系统应用
中国科学院软件研究所

计算机系统应用

CSTPCD
影响因子:0.449
ISSN:1003-3254
年,卷(期):2023.32(7)
  • 1
  • 1