基于多重源码表示和循环神经网络的代码注释生成方法

    公开(公告)号:CN114816516A

    公开(公告)日:2022-07-29

    申请号:CN202210452163.8

    申请日:2022-04-27

    Applicant: 南通大学

    Abstract: 本发明提供一种基于多重源码表示和循环神经网络的代码注释生成方法,包括如下步骤:S1、收集Java代码注释对,构建语料库;S2、在序列化处理层,将语料库中的源代码转换为token序列、SBT序列和API序列;S3、在编码器层,使用双向GRU作为编码器,为3个序列分别构建codeseq编码器、SBTseq编码器和APIseq编码器,学习源代码不同级别的信息;S4、在解码器层,使用单向GRU构建解码器,并利用teacher forcing策略训练模型;S5、在3个编码器中的每个编码器后添加注意力层,将三个编码器输入和解码器输入的注意力矩阵链接起来并用一个全连接层学习如何组合每个输入的代码,最终输出代码注释。本发明提高代码注释生成的准确性,提高软件开发人员在软件开发过程中的效率,节省开发时间。

    一种基于递归神经网络模型的代码注释生成方法

    公开(公告)号:CN113190219A

    公开(公告)日:2021-07-30

    申请号:CN202110497846.0

    申请日:2021-05-08

    Applicant: 南通大学

    Abstract: 本发明提供一种基于递归神经网络模型的代码注释生成方法,主要用于解决开发人员节省编写注释所需的时间。包括如下步骤:使用scrapy从开源社区上爬取评分高的代码项目,获得java数据集;对获得的java数据集进行一些筛选和处理,优化数据集;将处理过的数据集输入Seq2Seq+Attention&Copy模型中,进行信息的编码;将输出的信息编码输入Attention机制层和Copy机制层得到上下文向量;将结构信息的编码输出和上下文向量输入解码层,由源代码注释和序列概率分布生成输出序列;基于已训练好的Seq2Seq+Attention&Copy代码注释模型,对代码进行自动注释。本发明中,自动代码注释生成不仅可以帮助开发人员理解源代码,还可以节省编写注释所需的时间。

Patent Agency Ranking