CN108334455A - 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统 - Google Patents

基于搜索的代价敏感超图学习的软件缺陷预测方法及系统 Download PDF

Info

Publication number
CN108334455A
CN108334455A CN201810178494.0A CN201810178494A CN108334455A CN 108334455 A CN108334455 A CN 108334455A CN 201810178494 A CN201810178494 A CN 201810178494A CN 108334455 A CN108334455 A CN 108334455A
Authority
CN
China
Prior art keywords
software
hypergraph
module
data
cost
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810178494.0A
Other languages
English (en)
Other versions
CN108334455B (zh
Inventor
高跃
王楠
赵曦滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201810178494.0A priority Critical patent/CN108334455B/zh
Publication of CN108334455A publication Critical patent/CN108334455A/zh
Application granted granted Critical
Publication of CN108334455B publication Critical patent/CN108334455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于搜索的代价敏感超图学习的软件缺陷预测方法,所述方法包括:输入原始的训练和测试数据,获得软件模块的特征及相应的软件模块标签;对软件数据进行特征提取,将数据特征转换到新的特征空间;在新的特征空间中,基于测试数据选取与相应测试数据距离最近的训练数据;利用选取的训练数据和测试数据构建超图结构,超图的连接是根据软件模块在转换软件模块特征空间的距离来测算,不断优化错分代价敏感的测试数据总代价,并且优化超图结构;利用学习到的转换向量可以用来计算测试模块是否含有错误。

Description

基于搜索的代价敏感超图学习的软件缺陷预测方法及系统
技术领域
本发明属于软件错误预测领域,具体涉及利用超图学习,构建基于搜 索代价敏感方法进行软件错误识别的软件错误预测方法及系统。
背景技术
随着网络技术的快速发展,对于各种软件系统的需求量急速增加,对 软件功能的要求也不断提升,由于软件系统规模的日益增大及其逻辑复杂 性日益增强,软件中潜在的缺陷必定会影响软件的质量、延长开发周期和 增加开发成本。软件错误预测技术目标在于发现软件中的错误模块,提高 软件系统质量。在具体的软件系统实现过程中,为了能够对测试的工作结 果进行准确客观的评估,权衡潜在缺陷风险和测试成本之间的关系,控制软件开发质量和开发成本,及时、准确的对软件中的缺陷进行预测显得十 分重要。
目前,软件错误预测面临的主要问题为:
1)已标记软件错误模块数据过少,
2)软件无错模块和软件错误模块数据量不平衡
3)软件模块特征与软件模块标签之间度量关系不明确。
而目前现有的软件错误预测方法有限,并且都无法解决上述问题。
发明内容
针对现有技术中存在的上述问题,本发明提出了一种新型的软件错误 预测方法及系统。在本发明的方法和系统中引入错分代价,由于将错误模 块错分成无错模块通常意味着更糟糕的后果,所以针对错误模块以及无错 模块错分产生的不同影响,赋予两种错分情况不同的错分代价;针对训练 数据不平衡的问题,本系统通过基于测试样例进行训练数据检索,选择有 利于进行分类的有错和无错模块训练数据集。基于选择的训练数据集,为了更加全面的挖掘数据之间的关系,利用超图模型充分描述训练数据与测 试数据之间关系,并通过半监督方式对软件模块进行分类,从而提高软件 错误预测的准确性。
具体而言,本发明提供了一种基于搜索的代价敏感超图学习的软件缺 陷预测方法,其特征在于,所述方法包括下述步骤:
步骤S1、输入原始的训练和测试数据,包括软件模块的特征及相应的 软件模块标签;
步骤S2、对软件数据进行特征提取,将数据特征转换到新的特征空间;
步骤S3、在新的特征空间中,基于测试数据选取与相应测试数据距离 较近的训练数据,所述训练数据中包括软件错误模块和无错模块;
步骤S4、利用选取的训练数据和测试数据构建超图结构,超图的连接 是根据在转换后的特征空间中不同软件模块的距离来测算的,不断优化错 分代价敏感的测试数据集的总代价,并且优化超图结构,获得转换向量;
步骤S5、利用学习到的转换向量可以用来计算测试模块是否含有错 误。
在一种优选实现方式中,所述步骤S2包括通过CSLS方法对软件数 据进行特征提取。
在另一种优选实现方式中,所述步骤S2包括通过下式进行特征提取:
其中,Ns表示训练样本的个数,fki表示第i个样本的第k个特征,表示 第k个特征的平均值,Ds是对角矩阵,其矩阵元素Ds(ii)=∑jsij,其中Sij表示 样本i和j之间的关系,zi表示第i个样本的标签,cost(zi,zj)表示区分zi类和 zj的代价,φ(zi)表示第zi个样本的重要性。
在另一种优选实现方式中,
所述步骤S3还包括设定无错样本和有错样本的比例。
在另一种优选实现方式中,所述步骤S3还包括对于任意一个待测试样 本,计算待测试样本与训练样本之间的欧式距离,分别记录最近的若干个 软件无错样本和软件错误样本,并且对所有的待测数据集执行搜索后,将 选取的训练数据集结果进行综合排序,得到最终选取的训练数据。
在另一种优选实现方式中,
所述步骤S4还包括通过下式来描述超图的连接关系:
其中Vcentral表示超图的中心点,表示数据集中每两个点之间距离的平 均值,表示在超边ep上与Vcentral相连的vi点与Vcentral之间距离 的平方,α为调节参数。
另一方面,本发明提供一种基于搜索的代价敏感超图学习的软件缺陷 预测系统,其特征在于,所述软件缺陷预测系统包括:
数据获取模块、特征提取模块、训练数据搜索模块、超图构建模块以 及软件错误预测模块,
所述特征选取模块用于获取原始的训练和测试软件数据;
所述特征提取模块用于提取软件模块的特征及相应的软件模块标签;
所述训练数据搜索模块基于测试数据选取与相应测试数据距离最 近的训练数据,所述训练数据中包括软件错误模块和无错模块;
所述超图构建模块用于利用选取的训练数据和测试数据构建超图结 构,并进行代价敏感学习;
所述软件错误预测模块利用代价敏感学习方式优化后的超图结构计算 测试模块是否含有错误。
所述训练和测试数据包括软件以及软件缺陷数据。
有益效果
本发明的方法及系统利用CSLS特征提取方法构建新的特征空间降低 数据维度,通过基于测试数据的训练数据搜索方法,解决了数据不平衡的 问题。针对软件模块特征与标签之间关系的复杂性及标记数据过少等问题, 利用超图结构通过半监督的方式在更高层次上构建训练数据与测试数据关 系,并且在学习过程中,考虑不同类型软件模块的错分代价,结合实际建 立更加有效地构建软件错误预测系统。
附图说明
图1为用于执行本发明基于搜索的代价敏感超图学习方法的系统的架 构示意图;
图2为本发明的基于搜索的代价敏感超图学习方法的示意性流程图;
图3为超图的示意图。
具体实施方式
以下结合附图及其实施例对本发明进行详细说明,但并不因此将本发 明的保护范围限制在实施例描述的范围之中。
一、基于搜索选取训练样本
搜索阶段目的在于选取训练样本子集,选取相关性高的标记样本并且 解决数据不平衡的问题。
(1)申请人发现,原始的数据空间往往不利于区分软件错误模块和无错模 块,所以首先进行特征提取,申请人采用成本敏感的拉普拉斯得分(CSLS) 方法进行特征选取,申请人发现采用CSLS方法进行特征提取能够促进软件 度量的多样性和保存局部特征。在CSLS中,第K个特征的Sk的计算方式如 下:
其中,Ns是指训练样本的个数,fki是指第i个样本的第k个特征,是 指第k个特征的平均值,Ds是对角矩阵,并且Ds(ii)=∑jsij,其中Sij指的是样 本i和j之间的关系,zi是第i个样本的标签,cost(zi,zj)是区分zi类和zj的代 价,φ(zi)指的是zi个样本的重要性,在本实施例中,申请人选取了相关性 最高的15个特征,构建新的特征空间,在新的特征空间中,不同类别之间 的数据逐渐远离,相同类别的数据之间逐渐接近,使得在新的特征空间中 类别的分类更加明显。
(2)在新的特征空间中,拿到一个待测试样本,计算待测试样本与训练 样本之间的欧式距离,按照一定比例(例如:1:1或者1:2)分别记录最近 的p个软件无错样本和g个软件错误样本,p、g的数目可以根据需要进行 选取。对所有的待测数据集执行上述搜索后,将选取的训练数据集结果进 行综合排序,得到最终选取的训练数据。
二、代价敏感的超图学习
在得到搜索的训练数据和测试数据之后,我们利用超图结构来描述数 据之间的关系。
(1)构建超图,每个超图结构利用G=(V;E;w)来描述,V中的每个顶 点代表一个训练和测试数据,E代表连接定点的超边,利用常用的星型拓展 方法来构建超图。在超图的构建过程中,每次取V中的一个定点作为中心 定点,在新的特征空间里选取最近的几个样本并且用超边连接起来,如图3 所示。
(2)在构建超图的过程中,申请人利用H矩阵来描述超图的连接关系,
其中Vcentral是超图的中心点,是数据集中每两个点之间距离的平均值,是指在超边ep上与Vcentral相连的vi点与Vcentral二者之间的距 离,在本实施例中α的值被设置为0.05,α是调节参数。
关于超图结构相关的定义:
超图定点的度:d(v)=∑e∈εω(e)h(v,e)
超边的度:δ(e)=∑v∈vh(v,e)
错误分类代价:是对角矩阵,每一个对角元素Υi,i表示 第i个元素的错分代价。在本实施例中,将错误模块的代价设置为10,无 错模块代价设置为5.
(3)在分类问题中,要考虑三个部分:包括超图拉普拉子正则化Ω(ω), 代价敏感的经验损失以及最优超图结构的正则化Ξ(W),
其中超图拉普拉斯正则化可以表示为:
其中,wxi表示第i个软件模块的标签,Dv表示超图中超点的度的对角 矩阵,De表示超图中超边的度的对角矩阵。Xw表示所有软件模块的标签。
代价敏感的经验损失可以表示为:
优化超图结构的正则化Ξ(W)可以表示为:
对代价敏感的超图学习结构可以被定义为
对于公式的优化是凸的,所以可以利用交替优化策略进行优化。步骤如下:
1)首先固定W优化ω,公式可以写为:
对ω求偏导可得:
ω=(XTγX+μXTΔX)-1(XTγy)
2)固定ω,对W进行优化,公式可以写为
对W求偏导可以得到:
其中,是单位矩阵
3)在每一次迭代的过程中减少目标函数值,迭代完成优化。对于每一个测 试样本它的预测类标可以表示为
本发明的软件错误预测方法利用基于测试数据的检索技术解决了训练 数据不平衡的问题;在得到选取的训练数据后,基于测试数据和选取的训 练数据构建超图,充分描述数据之间的关联关系,针对训练数据过少的问 题,采用半监督的方式进行软件错误预测,同时,在预测时将错分代价作 为重要属性,构建代价敏感的超图结构,从而提高系统预测的准确率。
虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描 述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现 方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对 本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本 发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保 护范围之内。

Claims (7)

1.一种基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述方法包括下述步骤:
步骤S1、输入原始的训练和测试数据,包括软件模块的特征及相应的软件模块标签;
步骤S2、对软件数据进行特征提取,将数据特征转换到新的特征空间;
步骤S3、在新的特征空间中,基于测试数据选取与相应测试数据距离较近的训练数据,所述训练数据中包括软件错误模块和无错模块;
步骤S4、利用选取的训练数据和测试数据构建超图结构,超图的连接是根据在转换后的特征空间中不同软件模块的距离来测算的,不断优化错分代价敏感的测试数据集的总代价,并且优化超图结构,获得转换向量;
步骤S5、利用学习到的转换向量可以用来计算测试模块是否含有错误。
2.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述步骤S2包括通过CSLS方法对软件数据进行特征提取。
3.根据权利要求2所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述步骤S2包括通过下式进行特征提取:
其中,Ns表示训练样本的个数,fki表示第i个样本的第k个特征,表示第k个特征的平均值,Ds是对角矩阵,其矩阵元素Ds(ii)=∑jsij,其中Sij表示样本i和j之间的关系,zi表示第i个样本的标签,cost(zvzj)表示区分zi类和zj的代价,φ(Zi)表示第zi个样本的重要性。
4.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,
所述步骤S3还包括设定无错样本和有错样本的比例。
5.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,所述步骤S3还包括对于任意一个待测试样本,计算待测试样本与训练样本之间的欧式距离,分别记录最近的若干个软件无错样本和软件错误样本,并且对所有的待测数据集执行搜索后,将选取的训练数据集结果进行综合排序,得到最终选取的训练数据。
6.根据权利要求1所述的基于搜索的代价敏感超图学习的软件缺陷预测方法,其特征在于,
所述步骤S4还包括通过下式来描述超图的连接关系:
其中Vcentral表示超图的中心点,d表示数据集中每两个点之间距离的平均值,表示在超边ep上与Vcentral相连的vi点与Vcentral之间距离的平方,α为调节参数。
7.一种基于搜索的代价敏感超图学习的软件缺陷预测系统,其特征在于,所述软件缺陷预测系统包括:
数据获取模块、特征提取模块、训练数据搜索模块、超图构建模块以及软件错误预测模块,
所述特征选取模块用于获取原始的训练和测试软件数据;
所述特征提取模块用于提取软件模块的特征及相应的软件模块标签;
所述训练数据搜索模块基于测试数据选取与相应测试数据距离最近的训练数据,所述训练数据中包括软件错误模块和无错模块;
所述超图构建模块用于利用选取的训练数据和测试数据构建超图结构,并进行代价敏感学习;
所述软件错误预测模块利用代价敏感学习方式优化后的超图结构计算测试模块是否含有错误。
CN201810178494.0A 2018-03-05 2018-03-05 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统 Active CN108334455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810178494.0A CN108334455B (zh) 2018-03-05 2018-03-05 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810178494.0A CN108334455B (zh) 2018-03-05 2018-03-05 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统

Publications (2)

Publication Number Publication Date
CN108334455A true CN108334455A (zh) 2018-07-27
CN108334455B CN108334455B (zh) 2020-06-26

Family

ID=62930378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810178494.0A Active CN108334455B (zh) 2018-03-05 2018-03-05 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统

Country Status (1)

Country Link
CN (1) CN108334455B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818971A (zh) * 2019-03-12 2019-05-28 清华大学 一种基于高阶关联挖掘的网络数据异常检测方法与系统
CN110297764A (zh) * 2019-05-30 2019-10-01 北京百度网讯科技有限公司 漏洞测试模型训练方法和装置
CN111695011A (zh) * 2020-06-16 2020-09-22 清华大学 一种基于张量表示的动态超图结构学习分类方法及系统
CN113723550A (zh) * 2021-09-06 2021-11-30 珠海横琴跨境说网络科技有限公司 基于超图的同时优化代价与误检率的异常检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2358766A (en) * 2000-01-26 2001-08-01 Hewlett Packard Co Cost sensitive control of data transfer involving a mobile entity
CN105787516A (zh) * 2016-03-09 2016-07-20 南京信息工程大学 一种基于空谱局部性低秩超图学习的高光谱图像分类方法
CN105975992A (zh) * 2016-05-18 2016-09-28 天津大学 一种基于自适应升采样的不平衡数据集分类方法
CN106201871A (zh) * 2016-06-30 2016-12-07 重庆大学 基于代价敏感半监督的软件缺陷预测方法
CN106991049A (zh) * 2017-04-01 2017-07-28 南京邮电大学 一种软件缺陷预测方法及预测系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2358766A (en) * 2000-01-26 2001-08-01 Hewlett Packard Co Cost sensitive control of data transfer involving a mobile entity
CN105787516A (zh) * 2016-03-09 2016-07-20 南京信息工程大学 一种基于空谱局部性低秩超图学习的高光谱图像分类方法
CN105975992A (zh) * 2016-05-18 2016-09-28 天津大学 一种基于自适应升采样的不平衡数据集分类方法
CN106201871A (zh) * 2016-06-30 2016-12-07 重庆大学 基于代价敏感半监督的软件缺陷预测方法
CN106991049A (zh) * 2017-04-01 2017-07-28 南京邮电大学 一种软件缺陷预测方法及预测系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818971A (zh) * 2019-03-12 2019-05-28 清华大学 一种基于高阶关联挖掘的网络数据异常检测方法与系统
CN109818971B (zh) * 2019-03-12 2020-07-03 清华大学 一种基于高阶关联挖掘的网络数据异常检测方法与系统
CN110297764A (zh) * 2019-05-30 2019-10-01 北京百度网讯科技有限公司 漏洞测试模型训练方法和装置
CN111695011A (zh) * 2020-06-16 2020-09-22 清华大学 一种基于张量表示的动态超图结构学习分类方法及系统
CN111695011B (zh) * 2020-06-16 2022-10-28 清华大学 一种基于张量表示的动态超图结构学习分类方法及系统
CN113723550A (zh) * 2021-09-06 2021-11-30 珠海横琴跨境说网络科技有限公司 基于超图的同时优化代价与误检率的异常检测方法及系统
CN113723550B (zh) * 2021-09-06 2023-12-05 珠海横琴跨境说网络科技有限公司 基于超图的同时优化代价与误检率的异常检测方法及系统

Also Published As

Publication number Publication date
CN108334455B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN108334455B (zh) 基于搜索的代价敏感超图学习的软件缺陷预测方法及系统
CN113256066B (zh) 基于PCA-XGBoost-IRF的作业车间实时调度方法
CN112465040B (zh) 一种基于类不平衡学习算法的软件缺陷预测方法
CN109409425B (zh) 一种基于近邻成分分析的故障类型识别方法
CN109543720B (zh) 一种基于对抗生成网络的晶圆图缺陷模式识别方法
CN105740984A (zh) 一种基于性能预测的产品概念性能评价方法
CN113268833B (zh) 一种基于深度联合分布对齐的迁移故障诊断方法
CN111367801B (zh) 一种面向跨公司软件缺陷预测的数据变换方法
CN113127342B (zh) 基于电网信息系统特征选择的缺陷预测方法及装置
CN110276460A (zh) 基于复杂网络模型的工业设备运维与优化方法及系统
CN113076920B (zh) 一种基于非对称域对抗自适应模型的智能故障诊断方法
CN110175640A (zh) 一种基于机器学习的电液伺服阀故障诊断方法
CN111586051A (zh) 一种基于超图结构质量优化的网络异常检测方法
CN113157564A (zh) 一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法
CN110515836B (zh) 一种面向软件缺陷预测的加权朴素贝叶斯方法
CN117516937A (zh) 基于多模态特征融合增强的滚动轴承未知故障检测方法
CN113283467B (zh) 一种基于平均损失和逐类选择的弱监督图片分类方法
CN111863135B (zh) 一种假阳性结构变异过滤方法、存储介质及计算设备
CN116245563B (zh) 基于AdaBoost算法构建的商品销量融合预测模型
CN110427316B (zh) 基于访问行为感知的嵌入式软件缺陷修复方法
CN117078960A (zh) 一种基于图像特征提取的近红外光谱分析方法及系统
CN115129029B (zh) 基于子领域适配字典学习的工业系统故障诊断方法和系统
CN111897310B (zh) 基于一维多头卷积网络的工业过程故障分类方法和系统
AU2021102380A4 (en) Intelligent Mineral Identification Method and System
CN111738289B (zh) 计算机视觉cv模型训练方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant