代码注释信息的补全方法、系统、电子设备和存储介质技术方案

技术编号:39043812 阅读:10 留言:0更新日期:2023-10-10 11:56
本发明专利技术公开了一种代码注释信息的补全方法、系统、电子设备和存储介质,属于代码检测技术领域,该补全方法包括:对代码注释进行注释信息检查;获取需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;设置Seq2seq模型参数;将序列化数据输入到Seq2seq模型中,以生成临时注释信息;判断临时注释信息是否合理;获取时间戳和提交人信息,以添加到临时注释信息中;采用添加后的临时注释信息,对需要补全注释信息的代码进行注释信息补全。本发明专利技术保证代码注释信息的正确性、准确性和完整性,降低了人工从零开始编写注释造成的时间浪费。零开始编写注释造成的时间浪费。零开始编写注释造成的时间浪费。

【技术实现步骤摘要】
代码注释信息的补全方法、系统、电子设备和存储介质


[0001]本专利技术属于代码检测
,尤其涉及一种代码注释信息的补全方法、系统、电子设备和存储介质。

技术介绍

[0002]随着软件项目的复杂度和软件产品迭代频率的不断提升,程序理解在整个软件开发环节的重要性也日益提高。开发人员平均需要花费59%的时间在程序理解上。因此,高质量的代码注释是提高开发人员程序理解效率的关键。
[0003]但开发人员由于项目开发预算有限、编程经验不足或者对代码注释的重视程度不够,经常会出现代码注释的缺失、不足或者与代码实际内容不匹配等问题,导致代码表达的含义不清或者容易造成混乱,同时代码可能存在的潜在风险也会被遗漏,也会给后续代码维护增加不必要的工作量。

技术实现思路

[0004]有鉴于此,本专利技术的目的之一,在于提供一种代码注释信息的补全方法,该补全方法能够保证代码注释信息的正确性、准确性和完整性,降低了人工从零开始编写注释造成的时间浪费,减少了后续维护和交接时人力成本。
[0005]本专利技术的目的之二,在于提供一种代码注释信息的补全系统。
[0006]本专利技术的目的之三,在于提供一种电子设备。
[0007]本专利技术的目的之四,在于提供一种存储介质。
[0008]为了达到上述目的之一,本专利技术采用如下技术方案实现:一种代码注释信息的补全方法,所述补全方法包括:步骤S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码;步骤S2、获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;步骤S3、设置Seq2seq模型参数;步骤S4、将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;步骤S5、判断所述临时注释信息是否合理,如是,则进入步骤S6;如否,则调整所述Seq2seq模型参数,返回步骤S4;步骤S6、获取时间戳和提交人信息,以添加到所述临时注释信息中;步骤S7、采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
[0009]进一步的,在所述步骤S4中,所述Seq2seq模型包括编码器和解码器;所述编码器,用于对所述序列化数据进行编码处理,以生成一个固定长度的语义向量;所述解码器,用于对所述语义向量进行解码处理。
[0010]进一步的,所述语义向量为:所述编码器中最后一个隐藏层的隐藏状态;或者为:所述编码器中所述编码器中最后一个隐藏层的隐藏状态的语义变换结果。
[0011]进一步的,所述语义向量为:所述编码器中所有隐藏层输入的隐藏状态的语义变换结果。
[0012]进一步的,在所述步骤S5中,所述判断所述临时注释信息是否合理的具体过程包括:步骤S51、将所述临时注释信息补充到所述需要补全注释信息的代码中;步骤S52、对补充后的需要补全注释信息的代码进行分词处理;步骤S53、将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;步骤S54、将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;步骤S55、判断语义分析结果是否有错误日志信息,如是,则所述临时注释信息不合理;如否,则所述临时注释信息合理。
[0013]进一步的,在所述步骤S52和步骤S53之间,所述判断所述临时注释信息是否合理的具体过程还包括:对分词处理后的需要补全注释信息的代码进行Word Piece拆分处理。
[0014]进一步的,所述补全方法还包括:将合理的临时注释信息补充到所述需要补全注释信息的代码中后依次进行分词处理、插入分类标志符【CLS】和句子划分分割符【SEP】,作为训练语料;将所述训练语料输入到所述BERT模型中进行训练,以更新所述BERT模型参数。
[0015]为了达到上述目的之二,本专利技术采用如下技术方案实现:一种代码注释信息的补全系统,所述补全系统包括:注释信息检查模块,用于对代码注释进行注释信息检查,以确定需要补全注释信息的代码;构成模块,用于获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;设置模块,用于设置Seq2seq模型参数;生成模块,用于将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;判断模块,用于判断所述临时注释信息是否合理,如是,则将所述临时注释信息传输给添加模块;如否,则调整所述Seq2seq模型参数,并传输给所述生成模块;添加模块,用于获取时间戳和提交人信息,以添加到所述临时注释信息中;补全模块,用于采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。
[0016]为了达到上述目的之三,本专利技术采用如下技术方案实现:一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述所述的一种代码注释信息的补全方法中的步骤。
[0017]为了达到上述目的之四,本专利技术采用如下技术方案实现:
一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述所述的一种代码注释信息的补全方法中的步骤。
[0018]综上,本专利技术的技术方案的有益效果:本专利技术将代码文件名、文件路径、类信息和全局变量信息构成的序列化数据,输入到通过Seq2seq模型,自动生成临时注释信息,再通过临时注释信息的合理性判断,保证了临时注释信息的正确性、准确性和完整性,降低了代码注释信息不全的几率,减少了人工从零开始编写注释,造成的时间浪费;本专利技术针对注释信息的语义判断,保证注释信息的全面,减少了后续维护和交接时人力成本。
附图说明
[0019]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本专利技术的代码注释信息的补全方法流程图。
具体实施方式
[0021]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]本实施例给出了一种代码注释信息的补全方法,参考图1,该补全方法包括:S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码。
[0023]本实施例通过自动扫描代码,识别未添加注释信息、注释信息不规范、错误注释信息和缺少必要的注释信息。本实施例中的注释信息包括类名、方法名、函数名、参数名、参数类型、函数返回值类型和继承关系。如现识别到如下代码段是一个未加注释信息的函数:BatServiceEventH本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码注释信息的补全方法,其特征在于,所述补全方法包括:步骤S1、对代码注释进行注释信息检查,以确定需要补全注释信息的代码;步骤S2、获取所述需要补全注释信息的代码的代码文件名、文件路径、类信息和全局变量信息,以构成一个序列化数据;步骤S3、设置Seq2seq模型参数;步骤S4、将所述序列化数据输入到Seq2seq模型中,以生成临时注释信息;步骤S5、判断所述临时注释信息是否合理,如是,则进入步骤S6;如否,则调整所述Seq2seq模型参数,返回步骤S4;步骤S6、获取时间戳和提交人信息,以添加到所述临时注释信息中;步骤S7、采用添加后的所述临时注释信息,对所述需要补全注释信息的代码进行注释信息补全。2.根据权利要求1所述的补全方法,其特征在于,在所述步骤S4中,所述Seq2seq模型包括编码器和解码器;所述编码器,用于对所述序列化数据进行编码处理,以生成一个固定长度的语义向量;所述解码器,用于对所述语义向量进行解码处理。3.根据权利要求2所述的补全方法,其特征在于,所述语义向量为:所述编码器中最后一个隐藏层的隐藏状态;或者为:所述编码器中最后一个隐藏层的隐藏状态的语义变换结果。4.根据权利要求2所述的补全方法,其特征在于,所述语义向量为:所述编码器中所有隐藏层输入的隐藏状态的语义变换结果。5.根据权利要求1~4中任意一项所述的补全方法,其特征在于,在所述步骤S5中,所述判断所述临时注释信息是否合理的具体过程包括:步骤S51、将所述临时注释信息补充到所述需要补全注释信息的代码中;步骤S52、对补充后的需要补全注释信息的代码进行分词处理;步骤S53、将分类标志符【CLS】和句子划分分割符【SEP】分别插入到对分词处理后的需要补全注释信息的代码的开头和各个句子结尾处;步骤S54、将插入后的需要补全注释信息的代码输入到BERT模型中进行语义分析;步骤S55、判断语义分析结果是否有错误...

【专利技术属性】
技术研发人员:曲欣买瑞敏蒋东霖程广学孙国栋
申请(专利权)人:中国兵器装备集团兵器装备研究所
类型:发明
国别省市:

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

1