System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于程序代码与注释文本学习的蜕变关系推荐方法与系统技术方案_技高网

基于程序代码与注释文本学习的蜕变关系推荐方法与系统技术方案

技术编号:40415278 阅读:6 留言:0更新日期:2024-02-20 22:32
本发明专利技术提出一种基于程序代码与注释文本学习的蜕变关系推荐方法与系统,该方法通过从给定的程序集中的各程序分别抽取注释文本信息和程序代码文本信息以构成程序特征向量,利用给定程序集的若干个MR的标签分别构建对应的分类预测模型,将程序之间的相似性信息和MR的标签结合用于训练分类预测模型,得到MR预测模型,再获取新程序的特征向量并计算其相似性得分,将相似性得分向量输入至特定的MR预测模型,以判断该MR预测模型所对应的蜕变关系是否适用于此新程序。本发明专利技术充分挖掘程序源代码的语义信息,并将其与程序的注释文本信息相结合,利用程序代码与注释文本两部分信息衡量程序之间的相似性,以此提高模型的蜕变关系预测性能。

【技术实现步骤摘要】

本专利技术涉及软件测试领域,特别涉及一种基于程序代码与注释文本学习的蜕变关系推荐方法与系统


技术介绍

1、在众多软件测试技术中,蜕变测试作为能有效减轻软件测试中预期输出问题压力的测试技术,目前被广泛应用在人工智能、搜索引擎等缺乏测试预言的软件系统的测试活动中。但蜕变关系作为蜕变测试技术的关键,往往需要软件测试人员在理解程序的需求规约基础上获取,且难以完全自动化地识别。因此,如何简便、高效地为程序构造出多样化的蜕变关系已成为蜕变测试研究领域的热点问题。

2、在现有的众多蜕变关系识别与生成方法中,基于机器学习技术的蜕变关系预测方法近年来得到了较多研究者的关注。其中,蜕变关系预测方法mrpredt使用文本挖掘技术对程序的注释进行处理,并利用处理后的注释文本信息衡量程序之间的相似性,以此达到蜕变关系重用的目的,实验结果表明该方法在对矩阵操作程序进行蜕变关系预测时有着不俗的表现。

3、代码注释是用于解释说明某一代码片段的逻辑与功能,但在某些情况下,代码注释并不能完全正确说明代码的功能逻辑,比如程序员对代码逻辑功能理解有误,撰写代码注释时不够全面等问题。在此情景下,蜕变关系预测方法mrpredt仅仅使用代码注释文本信息进行程序之间的相似性计算不够全面严谨,因此,mrpredt方法蜕变关系预测的性能有待提高。


技术实现思路

1、鉴于上述状况,本专利技术的主要目的是为了提出一种基于程序代码与注释文本学习的蜕变关系推荐方法与系统,以解决上述技术问题。

2、本专利技术提出了一种基于程序代码与注释文本学习的蜕变关系推荐方法,所述方法包括如下步骤:

3、步骤1,给定程序集合以及相对应的蜕变关系集合,蜕变关系集合中的蜕变关系记为mr,抽取程序集中每个程序的注释文本,以获取程序注释文本信息;

4、抽取程序集中每个程序的代码关键信息,以构建程序代码文本信息,将程序注释文本信息与程序代码文本信息整合,构建程序特征向量;

5、步骤2,针对蜕变关系集合中的每个mr的标签分别构建对应的分类预测模型,计算程序集合中两个程序特征向量之间的相似性得分,得到一个相似性得分矩阵,将mr的标签与相似性得分矩阵结合用于训练对应mr的分类预测模型,得到针对每个特定mr的mr预测模型;

6、步骤3,针对一个新程序,现需预测特定的mr是否适用于该程序,首先利用步骤1抽取新程序的特征向量,并使用相似性计算方法计算新程序的特征向量与给定程序集合中每一个程序特征向量之间的相似性,得到一个相似性得分向量,将相似性得分向量输入至特定的mr预测模型,根据预测标签以判断该mr预测模型所对应的蜕变关系是否适用于此新程序。

7、本专利技术还提出一种基于程序代码与注释文本学习的蜕变关系推荐系统,其中,所述系统应用如上所述的基于程序代码与注释文本学习的蜕变关系推荐方法,所述系统包括:

8、特征提取模块,用于:

9、给定程序集合以及相对应的蜕变关系集合,蜕变关系集合中的蜕变关系记为mr,抽取程序集中每个程序的注释文本,以获取程序注释文本信息;

10、抽取程序集中每个程序的代码关键信息,以构建程序代码文本信息,将程序注释文本信息与程序代码文本信息整合,构建程序特征向量;

11、模型构建模块,用于:

12、针对蜕变关系集合中的每个mr的标签分别构建对应的分类预测模型,计算程序集合中两个程序特征向量之间的相似性得分,得到一个相似性得分矩阵,将mr的标签与相似性得分矩阵结合用于训练对应mr的分类预测模型,得到针对每个特定mr的mr预测模型;

13、程序预测模块,用于:

14、针对一个新程序,现需预测特定的mr是否适用于该程序,首先利用特征提取模块抽取新程序的程序特征向量,并使用相似性计算方法计算新程序的特征向量与给定程序集合中每一个程序特征向量之间的相似性,得到一个相似性得分向量,将相似性得分向量输入至特定的mr预测模型,根据预测标签以判断该mr预测模型所对应的蜕变关系是否适用于此新程序。

15、相较于现有技术,本专利技术的有益效果如下:

16、与基于程序注释的蜕变关系预测方法mrpredt相比,本专利技术充分挖掘程序源代码的语义信息,并将其与程序的注释文本信息相结合,利用程序代码与注释文本两部分信息衡量程序之间的相似性,以此提高模型的蜕变关系预测性能。

17、本专利技术的附加方面与优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实施例了解到。

本文档来自技高网...

【技术保护点】

1.一种基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,针对程序集中的每个程序,从程序中抽取注释文本,以获取程序注释文本信息的方法包括如下步骤:

3.根据权利要求2所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,抽取程序代码关键信息,以构建程序代码文本信息的方法包括如下步骤:

4.根据权利要求3所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,将程序注释文本信息与程序代码文本信息整合,构建程序特征向量的方法包括如下步骤:

5.根据权利要求4所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤2中,相似性计算方法采用余弦相似性,分类预测模型采用的是SVM二分类器。

6.根据权利要求2所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤3中,针对一个新程序,现需预测特定的MR是否适用于该程序,首先利用步骤1抽取新程序的特征向量,并使用相似性计算方法计算新程序的特征向量与给定程序集合中每一个程序特征向量之间的相似性,得到一个相似性得分向量,将相似性得分向量输入至特定的MR预测模型,根据预测标签以判断该MR预测模型所对应的蜕变关系是否适用于此新程序的方法具体包括如下步骤:

7.一种基于程序代码与注释文本学习的蜕变关系推荐系统,其特征在于,所述系统应用如权利要求1至6任意一项所述的基于程序代码与注释文本学习的蜕变关系推荐方法,所述系统包括:

...

【技术特征摘要】

1.一种基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,所述方法包括如下步骤:

2.根据权利要求1所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,针对程序集中的每个程序,从程序中抽取注释文本,以获取程序注释文本信息的方法包括如下步骤:

3.根据权利要求2所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,抽取程序代码关键信息,以构建程序代码文本信息的方法包括如下步骤:

4.根据权利要求3所述的基于程序代码与注释文本学习的蜕变关系推荐方法,其特征在于,在所述步骤1中,将程序注释文本信息与程序代码文本信息整合,构建程序特征向量的方法包括如下步骤:

5.根据权利要求4所述的基于程序代码与注释文本学习的蜕变关系推...

【专利技术属性】
技术研发人员:毛澄映易小荣温林林陈积富
申请(专利权)人:江西财经大学
类型:发明
国别省市:

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

1