[发明专利]一种可缓解类重叠问题的跨版本深度缺陷预测方法有效
申请号: | 202010581583.7 | 申请日: | 2020-06-23 |
公开(公告)号: | CN111767216B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 李芳;曲豫宾 | 申请(专利权)人: | 江苏工程职业技术学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06K9/62;G06N3/04 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 许洁 |
地址: | 226000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓解 重叠 问题 版本 深度 缺陷 预测 方法 | ||
本发明公开了一种可缓解类重叠问题的跨版本深度缺陷预测方法,包括如下:1、跨版本软件缺陷预测中面向深度语义学习的整体框架;2、基于卷积神经网络的语义特征学习模型;3、面向深度语义学习的混合式最近邻清理策略。本发明采用混合式最近邻清理策略来缓解深度学习学出的语义特征中存在的类重叠问题。具体来说对源代码对应的抽象语法树,采用卷积神经网络学出深度语义特征,继而采用混合式最近邻清理策略对标注数据集进行重采样与数据清理。采用混合式最近邻清理策略能够处理类不平衡问题与类重叠问题,对数据的统计分析结果表明该策略能够提升基于深度语义学习的软件缺陷预测的性能。
技术领域
本发明具体涉及一种可缓解类重叠问题的跨版本深度缺陷预测方法。
背景技术
软件缺陷预测(software defect prediction)被用来识别软件开发过程中的软件缺陷。软件开发过程中产生的历史数据构成了软件缺陷预测分类器的训练数据,这些数据可以从文件、类等多个粒度进行标注。从软件开发过程(software process)角度出发面向历史数据的度量元被人工设计用于构建分类模型,这些度量元包括基于代码行数(linesof code)的度量元、Halstead科学度量、以及McCabe环路复杂度(cyclomatic complexity)等。传统的项目内缺陷预测模型关注静态度量元,基于度量元进行分类模型构建,基于潜在的有缺陷模块应该具有相同的统计分布特征。然而在实际的软件开发过程中,静态度量元构建的分类器无法预测具有相同的统计特征分布却具有不同语义特征的代码模块,比如JAVA代码中Queue队列的add,remove方法的先后顺序虽然具有相同的统计分布特征,却具有明显不同的语义特征。通过使用自编码网络,卷积神经网络等深度学习框架能够从源数据集中学习到语义特征,建立面向语义学习的软件缺陷预测模型。在实际的训练数据集标注过程中,拥有不同的数据标记却在特征空间中有相同的特征,这种类重叠(classoverlap)问题是由于标注过程中的多种因素造成的。类重叠问题是数据挖掘以及机器学习中常见的问题,影响了分类性能。类重叠的训练样例模糊了分类边界,增大了分类的难度。很多应用领域都存在类重叠问题,比如信用卡欺诈检测领域、文本分类领域等等。然而这些策略都是基于传统的静态度量元进行的,面向基于语义学习的软件缺陷预测的类重叠问题研究较少。
基于此,本发明将基于卷积神经网络的深度学习框架应用到跨版本软件缺陷预测中,设计了面向跨版本软件缺陷预测的深度学习框架,从前一个版本的历史数据中根据抽象语法树构建基于文件级别的特征语义向量;以该语义向量为基础,改进了数据抽样策略,融合基于近邻的样例清理策略与基于K-Means算法的清理策略,对训练数据集进行预处理,作为Logistic Regression分类器的输入训练分类模型。将下一个版本软件代码作为测试数据集,使用常见的AUC(Area Under Curve)作为分类性能的评价指标,测试了该清理策略的有效性。通过对实验结果使用Friedman test与Nemenyi后检验进行统计分析,证明该策略能够解决类重叠问题,提升基于深度语义学习特征的分类器的性能。
发明内容
发明目的:针对软件缺陷预测建模时未充分使用源代码语义特征以及学出的语义特征中存在的类重叠问题,本发明提供了一种可缓解类重叠问题的跨版本深度缺陷预测方法。
技术方案:一种可缓解类重叠问题的跨版本深度缺陷预测方法,包括如下:1、跨版本软件缺陷预测中面向深度语义学习的整体框架;2、基于卷积神经网络的语义特征学习模型;3、面向深度语义学习的混合式最近邻清理策略;具体如下:
1.跨版本软件缺陷预测中面向深度语义学习的整体框架:
该方法采用混合式最近邻清理策略处理深度语义特征学习过程中的类重叠,使用该方法可以自动的从源代码中学习语义和结构特征,为分类器提供基于深度语义学习的特征向量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏工程职业技术学院,未经江苏工程职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010581583.7/2.html,转载请声明来源钻瓜专利网。