System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向增量代码的质量检测方法及其系统技术方案_技高网

面向增量代码的质量检测方法及其系统技术方案

技术编号:40228557 阅读:6 留言:0更新日期:2024-02-02 22:31
本发明专利技术公开了一种面向增量代码的质量检测方法及其系统。本发明专利技术首先针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落;进而,本发明专利技术构造和训练代码质量检测器,该质量检测器通过对注释和命名等文本信息进行深入的语义分析和质量评估,能够更准确地识别出潜在的错误和不规范的代码,帮助开发人员优化代码质量。

【技术实现步骤摘要】

本专利技术涉及计算机,特别涉及一种面向增量代码的质量检测方法及其系统


技术介绍

1、在软件开发过程中,注释和变量命名等文本信息对于代码的理解和维护具有重要意义。然而,现有的软件代码质量检测方法往往只关注代码本身的语法和结构,而忽视了注释和命名等文本信息的质量。这导致了一些潜在的问题,如函数没有注释、命名不规范等,影响了代码的可读性、可维护性和可理解性。

2、目前,虽然已经有一些软件代码质量检测方法使用了自然语言处理技术来分析注释和命名等文本信息,但这些方法仍然存在一些问题。例如,现有的方法往往只关注注释和命名的表面信息,没有对其进行深层次的语义分析;另外,现有方法对于注释和命名的质量评估也比较简单,只是通过一些规则或启发式算法进行判断,缺乏准确性和全面性。另外,对于每次质量检测的增量代码,可能存在于原代码的重复或者代码风格不一致而导致检测的混淆和错误。


技术实现思路

1、(一)专利技术目的

2、鉴于上述问题,本专利技术的目的是提出一种面向增量代码的质量检测方法及其系统。本专利技术首先针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落;进而,本专利技术构造和训练代码质量检测器,该质量检测器通过对注释和命名等文本信息进行深入的语义分析和质量评估,能够更准确地识别出潜在的错误和不规范的代码,帮助开发人员优化代码质量。

3、(二)技术方案

4、为了解决以上技术问题,本专利技术公开了以下技术方案。

5、作为本专利技术的第一方面,本专利技术公开了一种面向增量代码的质量检测方法,其特征在于,包括:

6、针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落;

7、构造和训练代码的质量检测器,该质量检测器用于对代码文本信息执行语义分析和质量评估;

8、基于所述构造和训练好的模型,对测试集中的注释和命名等文本信息进行质量评估,得到质量评估结果。

9、优选的是,所述针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落,具体包括:获取用于指定时间区间的commit指令信息,所述commit指令信息确定了指定时间区间的开始时间和结束时间;进而,获得指定时间区间内的全部代码提交记录;根据所述代码递交记录确定其中增量代码段落。

10、优选的是,所述构造和训练代码的质量检测器,具体包括:

11、从非增量代码中,收集软件代码及其对应文本信息的数据集;

12、对于数据集中的文本信息,通过质量检测器基于自然语言模型执行文本信息语义处理;

13、基于文本信息语义处理的结果,通过质量检测器建立实体标注的功能类型和相互关系之间的逻辑关联;

14、根据软件代码及其文本信息的所述逻辑关联,所述质量检测器确定符合所述逻辑关联的特征的质量评估指标,并对测试集中的软件代码及其文本信息进行质量评估。

15、优选的是,所述数据集包括源代码文件和注释文件以及相应的命名文件。

16、优选的是,所述文本信息包括软件代码对应的相关注释和命名。

17、优选的是,所述文本信息语义处理具体包括:

18、利用词向量模型将所述文本信息转换为向量表示形式;

19、利用bert模型,输入向量表示形式的所述文本信息,输出对文本信息中的实体类型的实体标注及实体关系。

20、优选的是,所述通过质量检测器建立实体标注的功能类型和相互关系之间的逻辑关联,具体包括:采用r-gnn神经网络的编码器,针对实体标注中的每个表示实体的标注计算该标注的特征表示;采用标注归类的softmax分类层,根据所述特征表示,确定属于同一类的标注,对相应的实体标注中归类为同一实体,从而建立实体标注之间的逻辑关联。

21、优选的是,所述质量评估指标包括语法检查、命名的一致性检查。

22、进而,本专利技术公开的一种面向增量代码的质量检测系统,包括:

23、增量代码确定模块,用于针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落;

24、质量检测器,用于对代码文本信息执行语义分析和质量评估。

25、其中,所述质量检测器具体包括:

26、文本信息语义处理模块,用于对于软件代码的文本信息,基于自然语言模型执行文本信息语义处理,输出对文本信息中的实体标注;

27、编码器,采用r-gnn神经网络,用于基于文本信息语义处理的结果,建立实体标注的功能类型和相互关系之间的逻辑关联;

28、质量评估模型模块,用于确定符合所述逻辑关联的特征的质量评估指标,对软件代码及其文本信息生成质量评估结果。

29、(三)有益效果

30、本专利技术通过引入自然语言处理技术,对软件代码的注释和命名等文本信息进行语义分析和质量评估,提高了代码质量检测的准确性和全面性,本专利技术应用语义分析和逻辑关联的方法,通过深入分析注释和命名等文本信息的语义特征,提高了质量评估的准确性,具有广泛的应用前景,可以应用于软件开发过程中的代码质量检测和优化。

本文档来自技高网...

【技术保护点】

1.一种面向增量代码的质量检测方法,其特征在于,包括:

2.根据权利要求1所述的面向增量代码的质量检测方法,其特征在于,所述针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落,具体包括:获取用于指定时间区间的commit指令信息,所述commit指令信息确定了指定时间区间的开始时间和结束时间;进而,获得指定时间区间内的全部代码提交记录;根据所述代码递交记录确定其中增量代码段落。

3.根据权利要求2所述的面向增量代码的质量检测方法,其特征在于,所述构造和训练代码的质量检测器,具体包括:

4.根据权利要求3所述的面向增量代码的质量检测方法,其特征在于,所述数据集包括源代码文件和注释文件以及相应的命名文件。

5.根据权利要求4所述的面向增量代码的质量检测方法,其特征在于,所述文本信息包括软件代码对应的相关注释和命名。

6.根据权利要求5所述的面向增量代码的质量检测方法,其特征在于,所述文本信息语义处理具体包括:

7.根据权利要求6所述的面向增量代码的质量检测方法,其特征在于,所述通过质量检测器建立实体标注的功能类型和相互关系之间的逻辑关联,具体包括:采用R-GNN神经网络的编码器,针对实体标注中的每个表示实体的标注计算该标注的特征表示;采用标注归类的Softmax分类层,根据所述特征表示,确定属于同一类的标注,对相应的实体标注中归类为同一实体,从而建立实体标注之间的逻辑关联。

8.根据权利要求7所述的面向增量代码的质量检测方法,其特征在于,所述质量评估指标包括语法检查、命名的一致性检查。

9.一种面向增量代码的质量检测系统,用于执行权利要求1-8中任一项所述的质量检测方法,其特征在于,包括:

10.根据权利要求9所述的面向增量代码的质量检测系统,其特征在于,所述质量检测器具体包括:

...

【技术特征摘要】

1.一种面向增量代码的质量检测方法,其特征在于,包括:

2.根据权利要求1所述的面向增量代码的质量检测方法,其特征在于,所述针对指定时间区间内的代码,根据代码提交记录确定其增量代码段落,具体包括:获取用于指定时间区间的commit指令信息,所述commit指令信息确定了指定时间区间的开始时间和结束时间;进而,获得指定时间区间内的全部代码提交记录;根据所述代码递交记录确定其中增量代码段落。

3.根据权利要求2所述的面向增量代码的质量检测方法,其特征在于,所述构造和训练代码的质量检测器,具体包括:

4.根据权利要求3所述的面向增量代码的质量检测方法,其特征在于,所述数据集包括源代码文件和注释文件以及相应的命名文件。

5.根据权利要求4所述的面向增量代码的质量检测方法,其特征在于,所述文本信息包括软件代码对应的相关注释和命名。

6.根据权利要求5...

【专利技术属性】
技术研发人员:王克飞徐超应春红方丞熙
申请(专利权)人:蒲惠智造科技股份有限公司
类型:发明
国别省市:

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

1