一种基于代码表征学习的蜕变关系预测方法技术

技术编号:42485772 阅读:26 留言:0更新日期:2024-08-21 13:04
本发明专利技术提供一种基于代码表征学习的蜕变关系预测方法,涉及软件工程技术领域,方法包括:确定目标程序语言,并选择程序以及蜕变关系数据;通过分析目前先进的代码表征学习模型,选择并确定适用于蜕变关系预测任务的代码表征学习模型;结合代码表征学习模型以及分类模型来设计并构造蜕变关系预测器;对于每一个蜕变关系预测器,利用代码表征模型为蜕变关系预测准备样本数据,即将程序样本数据进行向量化处理,利用样本数据训练蜕变关系预测器,并验证其预测效果。本发明专利技术相比传统的蜕变关系预测技术,能够节省时间成本和经济成本,同时由于代码表征学习可以获得捕获源代码中更丰富的信息,有利于提高蜕变关系预测精度。

【技术实现步骤摘要】

本专利技术涉及软件工程,特别是指一种基于代码表征学习的蜕变关系预测方法


技术介绍

1、软件测试是软件质量保障的关键技术之一,其目的在于揭示目标软件系统中存在缺陷。蜕变测试是一种软件测试技术,其专注于检查被测软件的多个相关输入和输出之间的关系,而不是检查单个输出的正确性。因此,相比传统测试技术,蜕变测试可以在不参考oracle(一种用于确认软件输出正确性的机制)的情况下进行,因此该技术可以有效缓解软件测试所面临的重要挑战之一的oracle问题(oracle不可用或很难获得的情况)。

2、蜕变测试过程中一个关键任务是确定蜕变关系。蜕变关系通过相关输入和输出之间的关系来描述被测软件的必要或预期属性。蜕变关系是蜕变测试的基本机制,其是决定蜕变测试效率的关键因素之一,而自动化识别蜕变关系对蜕变测试的自动化至关重要。

3、当前,一类自动化识别蜕变关系的方法是蜕变关系预测方法。这些蜕变关系预测方法的主要思想是通过人工设计的代码特征表示软件程序源代码信息,然后应用基于机器学习的分类器自动预测特定蜕变关系是否可以应用于目标软件。2013年,应用基于本文档来自技高网...

【技术保护点】

1.一种基于代码表征学习的蜕变关系预测方法,其特征在于,包括:

2.根据权利要求1所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述S1具体包括:

3.根据权利要求1所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述S2中分析代码表征学习模型具体包括:

4.根据权利要求3所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述S24中选择代码表征学习模型具体包括:

5.根据权利要求1或4所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述S3中将代码表征模型和分类模型相结合构造蜕变关系预测器具体包括:...

【技术特征摘要】

1.一种基于代码表征学习的蜕变关系预测方法,其特征在于,包括:

2.根据权利要求1所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述s1具体包括:

3.根据权利要求1所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述s2中分析代码表征学习模型具体包括:

4.根据权利要求3所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述s24中选择代码表征学习模型具体包括:

5.根据权利要求1或4所述的一种基于代码表征学习的蜕变关系预测方法,其特征在于,所述s3中将代码表征模型...

【专利技术属性】
技术研发人员:江明月郑雪丹
申请(专利权)人:浙江理工大学
类型:发明
国别省市:

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

1