一种基于GVG的代码注释生成方法技术

技术编号:40988442 阅读:26 留言:0更新日期:2024-04-18 21:31
本发明专利技术公开了一种基于GVG的代码注释生成方法,通过代码类别分类神经网络对训练代码函数数据进行分类能够识别代码类别,对多种编程语言进行注释。对所述训练代码函数数据进行函数预处理,生成代码函数序列数据;所述代码函数序列数据包括原始单词序列、原始代码标识符序列、标点符号序列,原始代码标识符包括驼峰标识符和蛇形标识符;在本发明专利技术中通过使用多个预设目标编码器使目标代码的注释生成更丰富;对不同的编程语言的代码生成相应注释;通过构建特征向量词库,供解码器在解码输出时使用,更好地处理OOV问题。

【技术实现步骤摘要】

本专利技术涉及代码注释生成,具体涉及一种基于gvg的代码注释生成方法。


技术介绍

1、在软件工程领域,需要软件开发人员快速、准确地理解现有的代码,从而高效地去完成系统或软件的功能变更和工程维护等任务。高质量的代码注释以自然语言的形式表示了源代码的整体思路和关键细节,是帮助开发人员快速理解源代码的关键。

2、但是,人工编写代码注释耗费时间,且书写效率不高、编写注释的质量参差不齐、正确性难以保证。因此,代码注释自动生成技术的重要性得以体现。代码注释自动生成技术是计算机科学和自然语言处理(nlp)的交叉应用,结合了代码分析、自然语言理解和文本生成的技术,以提高代码的可读性、可理解性和维护性,现如今代码注释自动生成技术已成为程序理解领域的研究热点之一。

3、现有的自动生成代码注释的方法有:基于模板的生成方法、基于信息检索的生成方法和基于深度学习的生成方法。基于模板的生成方法存在模板匹配问题以及语义捕捉不足等问题,基于信息检索的生成方法存在单词汇受限以及上下文理解不足的问题,而当今普遍使用的深度学习方法,在信息处理时大多采用抽象语法树ast语本文档来自技高网...

【技术保护点】

1.一种基于GVG的代码注释生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤4对所述训练代码函数数据进行函数预处理,包括:

3.根据权利要求2所述的方法,其特征在于,步骤4.1对原始代码进行分割以及清洗包括:

4.根据权利要求3所述的方法,其特征在于,步骤4.4结合AST语法树与数据流图DFG构建数据流语法图DFSG;具体为:

5.根据权利要求4所述的方法,其特征在于,所述代码类别分类神经网络采用循环递归网络RNN,循环递归网络RNN的训练过程为:

6.根据权利要求5所述的方法,其特征在于,步...

【技术特征摘要】

1.一种基于gvg的代码注释生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤4对所述训练代码函数数据进行函数预处理,包括:

3.根据权利要求2所述的方法,其特征在于,步骤4.1对原始代码进行分割以及清洗包括:

4.根据权利要求3所述的方法,其特征在于,步骤4.4结合ast语法树与数据流图dfg构建数据流语法图dfsg;具体为:

5.根据权利要求4所述的方法,其特征在于,所述代码类别分类神经网络采用循环递归网络rnn,循环递归网络rnn的训练过程为...

【专利技术属性】
技术研发人员:苏庆郑靖轩黄剑锋王子晴陈建明刘添添
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1