APP下载

组合源码结构和语义的代码注释自动生成方法

2021-12-08周培君吴军华

小型微型计算机系统 2021年12期
关键词:方法模型

周培君,吴军华

(南京工业大学 计算机科学与技术学院,南京 211816) E-mail:413402140@qq.com

1 引 言

代码注释又称程序注释,是对源代码的一种简单易读的自然语言描述.在实际应用中,大多数程序员只关注代码而忽略了注释,这使得程序的可读性和可维护性大大降低[1].开发人员平均花费超过50%的时间阅读和理解他人编写的代码[2].好的代码注释可以帮助开发和维护人员更准确、更快地理解程序,从而节省他们额外的阅读时间.

随着软件代码规模的不断扩大,如何帮助开发人员在软件开发过程中理解、编写或维护代码已成为软件工程领域的重要课题.Java作为最流行的主要编程语言被提出了许多方法来生成注释,以减轻对代码进行注释的人工工作.信息检索是自动代码注释生成研究中最早使用的技术.基于信息检索技术的评论算法一般采用基于向量空间模型(VSM)、潜在语义索引(LSI)、潜在狄利克雷分配(LDA)或代码克隆检测等相关技术.近年来,随着深度神经网络在自然语言处理、机器翻译、图像识别和语音处理等方面的发展,软件工程领域中也引入了深度神经网络来解决代码注释问题.绝大多数基于深度神经网络的代码注释工作的灵感来源于自然语言处理(NLP)的最先进的神经机器翻译(NMT),即将源代码到注释的转换问题表示为编程语言与自然语言之间的翻译问题.

本文提出了一种组合源码结构和语义的神经模型Code2Com(Code to Comment),一种基于深度学习的为给定代码生成注释的方法.工作主要集中在模型输入和注释生成.模型组合了两种关于源代码的信息:1)代码的顺序表示;……

登录APP查看全文

猜你喜欢

方法模型
一半模型
重尾非线性自回归模型自加权M-估计的渐近分布
学习方法
3D打印中的模型分割与打包
用对方法才能瘦
FLUKA几何模型到CAD几何模型转换方法初步研究
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼
一个相似模型的应用