CN110008584A - 一种基于GitHub的半监督异构软件缺陷预测算法 - Google Patents

一种基于GitHub的半监督异构软件缺陷预测算法 Download PDF

Info

Publication number
CN110008584A
CN110008584A CN201910261507.5A CN201910261507A CN110008584A CN 110008584 A CN110008584 A CN 110008584A CN 201910261507 A CN201910261507 A CN 201910261507A CN 110008584 A CN110008584 A CN 110008584A
Authority
CN
China
Prior art keywords
data
supervised
semi
class
matrix
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
CN201910261507.5A
Other languages
English (en)
Other versions
CN110008584B (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.)
Guangdong University of Petrochemical Technology
Original Assignee
Guangdong University of Petrochemical Technology
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 Guangdong University of Petrochemical Technology filed Critical Guangdong University of Petrochemical Technology
Priority to CN201910261507.5A priority Critical patent/CN110008584B/zh
Priority to PCT/CN2019/090948 priority patent/WO2020199345A1/zh
Publication of CN110008584A publication Critical patent/CN110008584A/zh
Application granted granted Critical
Publication of CN110008584B publication Critical patent/CN110008584B/zh
Priority to ZA2021/00183A priority patent/ZA202100183B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于GitHub的半监督异构软件缺陷预测算法,包括以下步骤:首先是数据集收集,建立自己的数据库;对收集到的数据预处理;然后这里异构的数据处理,我们引入增强版的典型关联分析方法,它是由统一度量表示(UMR)和典型关联分析(CCA)组成;最后我们加入了代价敏感的核半监督判别方法,从而实现了基于GitHub的半监督异构软件缺陷预测算法,本发明的优点在于解决了软件缺陷预测中数据异构的问题以及首次提出了代价敏感的核半监督鉴别分析(CKSDA)技术,利用代价敏感的学习技术,解决不同的错误分类代价,实现了缺陷预测效果。

Description

一种基于GitHub的半监督异构软件缺陷预测算法
技术领域
本发明涉及软件缺陷预测算法,具体涉及一种基于GitHub的半监督异构软件缺陷预测算法。
背景技术
软件缺陷预测是当前软件工程数据领域中的一个研究热点。其希望就是能够在项目开发的早期阶段,预先识别出项目内的潜在缺陷程序模块,并且对这类的程序模块分配足够的测试资源来确保可以进行充分的代码审查或者是单元测试,最终达到提高软件产品质量的目的。目前大部分研究工作都集中关注同项目缺陷预测问题,即选择同一项目的部分数据集作为训练集来构建模型,并用剩余未选择的数据作为测试集来获得模型的预测能力。然而在实际的软件开发场景中,需要进行缺陷预测的目标项目可能是一个新启动的项目,并没有足够的历史数据来作为训练集和测试集。由于历史数据的缺少研究者们开始关注跨项目软件缺陷预测的问题,跨项目就是使用其他项目的训练数据来构建预测模型,并对一个全新项目进行缺陷预测。在大部分的情况下,不同项目的度量元取值分布具有显著的差异性,缺陷预测的数据存在类别不平衡问题。
在软件测试中,软件缺陷预测是非常重要的,它可以利用历史缺陷数据学习预测模型。当没有足够的历史缺陷数据建立准确的预测模型时,跨公司缺陷预测(Ccdp)和半监督缺陷预测(Ssdp)是两种可行的方法。来自开放源码项目(OSP)托管平台(如GitHub)的现有开放源码未标记数据就足够了,这些数据通常是异构的。目前,对于如何利用开放源码项目(OSP)的大量未标记异构数据进行缺陷预测模型的研究还很少。
发明内容
本发明的目的在于:针对现有技术存在的缺陷,提出一种基于GitHub的半监督异构软件缺陷预测算法,目的在于建立缺陷预测模型时,为半监督问题和异构问题提供一种方法,解决异构问题,同时提出了一种代价敏感的核半监督相关分析(CKSCA)方法来解决半监督的跨公司缺陷预测(ccdp)问题。
为达到上述目的,本发明是通过以下技术方案来实现的:
一种基于GitHub的半监督异构软件缺陷预测算法包括以下步骤:
步骤(1)、收集数据建立数据库;
步骤(2)、数据预处理,包括数据规范化和数据过滤;
步骤(3)、匹配源数据和目标数据,引入统一度量表示(UMR)和典型相关分析方法(CCA);
步骤(4)、半监督判别分析;
步骤(5)、核半监督判别分析;
步骤(6)、代价敏感核半监督判分析。
优选地,所述步骤(1)的具体做法是:
在GitHub上收集数据,所述收集数据包括项目选择、特征提取和清理数据集,所述项目选择包括选择3个语言标记(Python,Java,C)作为关键字,由“most star”排序标记,从排序列表的顶部筛选出20个项目,所述特征提取包括使用“Understand”工具,提取代码度量,所述代码度量为文件静态代码度量,使用Scitools获得代码度量标准,所述清理数据集包括采用人工筛选对缺失值和显著误差值进行筛选。
优选地,所述步骤(2)中数据预处理使用min-max规范化,给定一个度量x,规范化值x′,计算为:
所述数据过滤为knn滤波器过滤跨公司数据的方法,使用数据筛选器代替所有跨公司数据,选择源和目标跨公司项目之间的公共属性,对于目标数据中的每个实例,选择k近邻来度量相似度,使用常见的特性进行过滤,获得与目标数据集相似的源数据集的筛选数据集,这里使用k=10来表示k-最近的邻居。
优选地,在步骤(3)中匹配源数据和目标数据引入统一度量表示(UMR)和典型相关分析方法(CCA),在UMR的基础上,利用CCA为源和目标项目的数据寻找共同空间,使得预测数据之间的相关性最大化,利用UMR技术来使异构数据能够被比较,设定是源数据和目标数据,这里是Xs的第i个实例,Ns和Nt是在Xs和Xt的实例数,源公司中的实例表示为目标公司中的实例表示为这里,表示与的第j度量相对应的度量值,ds和dt是源数据和目标数据中的度量数,则UMR定义如下:
其中是包含源数据集特定度量的Xs中的数据,是包含目标数据集特定度量的Xt中的数据,0s和0t是源数据与目标数据中的全零矩阵,目的是为了补全维度,并且在源数据中,而在目标数据中,R为实数集,加入基于CCA的学习相关子空间,寻找两个投影方向的Ps,Pt,最大化源与目标公司数据之间的线性相关系数ρ,则CCA的目标函数定义为:
其中(·)T是矩阵或向量转置,Css和Ctt是公司内部的协方差矩阵,Cst是跨公司的协方差矩阵,分别被定义为:
其中表示中的第i个实例向量,ms和mt的平均实例:
在投影方向Ps和Pt下,将分别投影到一个公共空间中,其中投影样本Xs+和Xt+是最大相关的,Xs+和Xt+分别定义为:
优选地,在步骤(4)中半监督判别分析为以尊重从标记数据中推断出的判别结构,以及从标记数据和未标记数据推断内在的几何结构,设定X=[x1,x2,...xM]=[Xs+,XT+]是投影样本矩阵,M=Ns+Nt是所有源实例和目标实例的数目,一组样本x1,x2...,Xm∈Rm属于c类,通过最小化类内距离,得到最优投影或变换和同时最大化类间距离,实现类间识别的最大化,类间和类内散射矩阵按以下方式计算:
其中Sb是类间矩阵,Sw是类内矩阵,u是总样本平均向量,ui是第i类的平均向量,Ni是第i类的样本数,是第k类的第i样本,加入一个邻接图来使用未标记样本,寻找一个最优的投影矩阵w,将数据从不同的类中分离出来,同时使附近的样本更加接近,因此,半监督判别分析的目标函数如下所示:
其中,W是投影矩阵,WT是投影矩阵的转置,Sb是类间矩阵,Sw是类内矩阵,α是一个权衡参数,构造邻接图来估计样本的内在几何结构,J(w)定义如下:
定义的相应的权矩阵G:
其中,Nk(xj)表示xj的k近邻集合。
优选地,在步骤(5)中核半监督判别分析将原始数据映射到高维核Hilbert空间中,由φ:Rn→F映射在特征空间F中称为映射函数,如:高斯核函数和多项式核在以前的工作中被证明是有用的,设定一个非线性映射函数φ(·)通过N*N核矩阵K=[Kij]定义,
则数据矩阵:
φ=[φ(x1),φ(x2),...,φ(xm)] (15)
那么公式(9)和公式(10)可以改写为:
优选地,在步骤(6)中代价敏感核半监督判别分析,构造一个代价矩阵,如下所示,Cost是代价函数,元素代价(i,j)(i,j∈1,2…c)指示将第I类中的实例分类为第I类的代价值,将缺陷类表示为1,而无缺陷类表示为2,成本(1,1)=0和成本(2,2)=0,因为正确的分类不会导致任何成本,
代价矩阵
使用函数f(i)来描述第i类的权重,定义为
结合有价值的代价信息,提出了一种对代价敏感的核判别分析方法,下面对代价敏感的半监督缺陷分析优化问题如下,
是类间散度;
是类内散度;
按照代数公式我们得到目标函数优化后:
其中,L是拉普拉斯矩阵。
本发明提出了代价敏感的核半监督鉴别分析(CKSDA)技术,利用代价敏感的学习技术,解决不同的错误分类代价,实现了缺陷预测效果。
附图说明
图1是本发明的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本实施例基于GitHub的半监督异构软件缺陷预测算法,包括以下步骤:
步骤(1)、收集数据建立自己的数据库:首先要在GitHub上收集数据,数据收集由三个实例组成1)项目选择;2)特征提取;3)清理数据集。对于项目选择,这里我们选择了3个语言标记(Python,Java,C)作为关键字,我们选择的排序标记是“most star”。将“2017年顶级编程语言”作为参考。由于这个排名,我们只研究主要用最流行的编程语言编写的项目(Python、Java和c)然后我们从排序列表的顶部筛选出20个项目。表1显示了3种编程语言的实例数
表1
不同编程语言的数目
对于特征提取,这里我们用一款叫做“Understand”商业工具,来计算代码度量。
度量数据包括文件的静态代码度量,例如代码行、注释的平均行。我们使用了从Scitools获得的代码度量标准。这些度量涵盖了各种源代码属性,如代码行、圈复杂度、对象之间的耦合、类方法、类变量、函数、实例方法和可变因素,变数等。最后我们就要清理数据,这里我们采用人工筛选的方法,对缺失值和显着误差值进行筛选。例如,如果实例中有一个值丢失或明显错误,我们将其替换为相应的度量值的平均值。
步骤(2)、数据预处理,其中包括数据规范化和数据过滤:因为不同软件度量的值通常有不同的大小。当执行归一化时,值的大小和缩放到相当低的值。这种规范化适用于源和目标项目数据。。我们使用min-max规范化。例如,给定一个度量x,规范化值x′,计算为:
对于数据过滤,这里提出了knn滤波器过滤跨公司数据的方法,使用数据筛选器代替所有跨公司数据有助于避免与现有问题不相似的示例。首先选择源和目标跨公司项目之间的公共属性,对于目标数据中的每个实例,我们选择k近邻来度量相似度。我们使用常见的特性进行过滤,我们的预期结果是获得与目标数据集相似的源数据集的筛选数据集。这里使用k=10来表示k-最近的邻居。
步骤(3)、匹配源数据和目标数据,为了有效地利用源数据和目标数据之间的所有特性,引入了统一度量表示(UMR)和典型相关分析方法(CCA)。在UMR的基础上,利用CCA为源和目标项目的数据寻找共同空间,使得预测数据之间的相关性最大化。请注意,UMR适用于异构源和目标数据,以最大限度地提高源数据和目标数据之间的相关性,我们利用UMR技术来使异构数据能够被比较。假设是源数据和目标数据,这里是Xs的第i个实例,Ns和Nt是在Xs和Xt的实例数。源公司中的实例可以表示为目标公司中的实例可以表示为这里,表示与的第j度量相对应的度量值,ds和dt是源数据和目标数据中的度量数。则UMR我们定义如下:
其中是包含源数据集特定度量的Xs中的数据,是包含目标数据集特定度量的Xt中的数据。并且在源数据中,而在目标数据中。然后我们加入基于CCA的学习相关子空间,CCA的目的是寻找两个投影方向的Ps,Pt,可以最大化源与目标公司数据之间的线性相关系数ρ。则CCA的目标函数可以定义为:
其中(·)T是矩阵或向量转置,Css和Ctt是公司内部的协方差矩阵,Cst是跨公司的协方差矩阵,他们分别被定义为:
其中表示中的第i个实例向量,ms和mt的平均实例:
在投影方向Ps和Pt下,我们可以将分别投影到一个公共空间中,其中投影样本Xs+和Xt+是最大相关的。Xs+和Xt+分别定义为:
步骤(4)、半监督判别分析,它的目的是寻找一个投影,以尊重从标记数据中推断出的判别结构。以及从标记数据和未标记数据推断内在的几何结构。假设X=[x1,x2,...xM]=[Xs+,XT+]是投影样本矩阵。M=Ns+Nt是所有源实例和目标实例的数目。现在我们有一组样本x1,x2...,xm∈Rm属于c类。通过最小化类内距离,得到最优投影或变换和同时最大化类间距离,实现类间识别的最大化。类间和类内散射矩阵可以按以下方式计算:
其中u是总样本平均向量,ui是第i类的平均向量,Ni是第i类的样本数,xi j是第k类的第i样本。我们加了一个邻接图来使用未标记样本。半监督判别分析的目的是寻找一个最优的投影矩阵w,它能最好地将数据从不同的类中分离出来,同时使附近的样本更加接近,因此,半监督判别分析的目标函数如下所示:
α是一个权衡参数,我们构造了邻接图来估计样本的内在几何结构,J(w)定义如下:
定义的相应的权矩阵G:
其中,Nk(xj)表示xj的k近邻集合。
步骤(5)、核半监督判别分析,由于步骤(4)中半监督判别分析是一种线性方法,它不能准确地了解源与目标之间的非线性相关性。我们将原始数据映射到高维核Hilbert空间中。我们考虑由φ:Rn→F映射在特征空间F中的问题,称为映射函数,如:
高斯核函数和多项式核在以前的工作中被证明是有用的。假定一个非线性映射函数φ(·)通过N*N核矩阵K=[Kij]定义,
则数据矩阵:
φ=[φ(x1),φ(x2),...,φ(xm)] (15)
那么公式(9)和公式(10)可以改写为:
步骤(6)、代价敏感核半监督判别分析,我们构造了一个代价矩阵。在表2中,元素代价(i,j)(i,j∈1,2…c)指示将第I类中的实例分类为第I类的代价值。由于软件缺陷预测中有两类,所以我们将缺陷类表示为1,而无缺陷类表示为2,成本(1,1)=0和成本(2,2)=0,因为正确的分类不会导致任何成本。
表2
代价矩阵
我们使用函数f(i)来描述第i类的权重,定义为
结合有价值的代价信息,提出了一种对代价敏感的核判别分析方法。下面对代价敏感的半监督缺陷分析优化问题如下,
是类间散度;
是类内散度。
按照代数公式我们得到目标函数优化后:
为验证本算法是否有很好的优越性,将对代价敏感的核判别分析算法与六种半监督跨项目缺陷预测方法Ftct-MDS、LDS、RusTri、NSGLP、CKSDL、MSTrA和两个监督跨项目缺陷预测方法HDP-KS,CTKCCA进行比较。分别在AEEEM、NASA、relink、SOFTlab小组和GitHub的14个项目作为实验数据进行对比验证。
预测模型的评估指标有召回率(pd),误报率(pf),查准率(precision)和精确度(acc)。这些指标能够通过表3定义的A,B,C,D来表示,如表1所示:
表3 混淆矩阵
被预测为缺陷 被预测为无缺陷
缺陷模块 A B
无缺陷模块 C D
召回率(pd):正确预测为有缺陷的模块数与真实有缺陷的模块数的比值,即pd=A/(A+B),该比值对软件缺陷预测来说很重要,因为预测模型就是为了找出有缺陷的模块。查准率(precision):正确被预测为有缺陷的模块数与预测为有缺陷模块数的比值,即precision=A/(A+C),该比值评估的是模型预测的正确程度。
主要采用两个综合性能指标:F-measure指标就是将pd与precision结合起来评价,即F-measure=2*pd*precision/(pd+precision)。AUC值(Area Under Curve)被定义为ROC曲线下的面积,使用AUC值可以评估二分类问题分类效果的优劣。F-measure值和AUC值的数值越为大表示软件缺陷预测模型的预测性能越好。
为了验证代价敏感系数的大小是否对模型有影响,我们设置了μ=1,5,10,15,20,观察代价敏感系数对实验的影响。在AEEEM数据集做实验,实验结果为表4,其中μ=1表示没有引入代价敏感系数。
表4 不同代价敏感系数下的AUC值
从表4中的实验结果可以看出:当μ>1时AUC值要比μ=1高,说明引入代价敏感系数提高了预测的效果;随着μ值的增大,AUC的值也在增长,但是当μ>15时,AUC值开始下降,说明代价敏感系数并不是越大越好,当μ=15时,CMKEL算法能达到很好的效果。
为了验证本文的算法在几个对比算法里面是否有很好的性能,分别在NASA和AEEEM两个数据库做实验,实验结果为表3所示,在实验结果中将F-measure值表示成F值。
表3 对比算法实验结果
通过以上实验可以看出:NB,CC4.5,CBBN算法在某些项目上面能够有比较好的F-measure值,但是本文提出的CMKEL在大部分项目上能同时有很好的F-measure值,AUC值,效果要比前三种算法要好,表明了CMKEL算法的优越性,确实解决了软件缺陷预测中数据集有类别不平衡,历史数据缺少的问题,达到了本发明的目的。
上述实施例仅供说明本发明之用,而并非是对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明范围的情况下,还可以作出各种变化和变型,因此所有等同的技术方案也应属于本发明的范畴,本发明的专利保护范围应由各权利要求限定。

Claims (7)

1.一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,所述基于GitHub的半监督异构软件缺陷预测算法包括以下步骤:
步骤(1)、收集数据建立数据库;
步骤(2)、数据预处理,包括数据规范化和数据过滤;
步骤(3)、匹配源数据和目标数据,引入统一度量表示(UMR)和典型相关分析方法(CCA);
步骤(4)、半监督判别分析;
步骤(5)、核半监督判别分析;
步骤(6)、代价敏感核半监督判分析。
2.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,所述步骤(1)的具体做法是:
在GitHub上收集数据,所述收集数据包括项目选择、特征提取和清理数据集,所述项目选择包括选择3个语言标记(Python,Java,C)作为关键字,由“most star”排序标记,从排序列表的顶部筛选出20个项目,所述特征提取包括使用“Understand”工具,提取代码度量,所述代码度量为文件静态代码度量,使用Scitools获得代码度量标准,所述清理数据集包括采用人工筛选对缺失值和显著误差值进行筛选。
3.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,所述步骤(2)中数据预处理使用min-max规范化,给定一个度量x,规范化值x′,计算为:
所述数据过滤为knn滤波器过滤跨公司数据的方法,使用数据筛选器代替所有跨公司数据,选择源和目标跨公司项目之间的公共属性,对于目标数据中的每个实例,选择k近邻来度量相似度,使用常见的特性进行过滤,获得与目标数据集相似的源数据集的筛选数据集,这里使用k=10来表示k-最近的邻居。
4.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,在步骤(3)中匹配源数据和目标数据引入统一度量表示(UMR)和典型相关分析方法(CCA),在UMR的基础上,利用CCA为源和目标项目的数据寻找共同空间,使得预测数据之间的相关性最大化,利用UMR技术来使异构数据能够被比较,设定是源数据和目标数据,这里是Xs的第i个实例,Ns和Nt是在Xs和Xt的实例数,源公司中的实例表示为目标公司中的实例表示为这里,表示与的第j度量相对应的度量值,ds和dt是源数据和目标数据中的度量数,则UMR定义如下:
其中是包含源数据集特定度量的Xs中的数据,是包含目标数据集特定度量的Xt中的数据,0s和0t是源数据与目标数据中的全零矩阵,目的是为了补全维度,并且在源数据中,而在目标数据中,R为实数集,加入基于CCA的学习相关子空间,寻找两个投影方向的Ps,Pt,最大化源与目标公司数据之间的线性相关系数ρ,则CCA的目标函数定义为:
其中(·)T是矩阵或向量转置,Css和Ctt是公司内部的协方差矩阵,Cst是跨公司的协方差矩阵,分别被定义为:
其中表示中的第i个实例向量,ms和mt的平均实例:
在投影方向Ps和Pt下,将分别投影到一个公共空间中,其中投影样本Xs+和Xt+是最大相关的,Xs+和Xt+分别定义为:
5.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,在步骤(4)中半监督判别分析为以尊重从标记数据中推断出的判别结构,以及从标记数据和未标记数据推断内在的几何结构,设定X=[x1,x2,...xM]=[Xs+,XT+]是投影样本矩阵,M=Ns+Nt是所有源实例和目标实例的数目,一组样本X1,x2...,xm∈Rm属于c类,通过最小化类内距离,得到最优投影或变换和同时最大化类间距离,实现类间识别的最大化,类间和类内散射矩阵按以下方式计算:
其中Sb是类间矩阵,Sw是类内矩阵,u是总样本平均向量,ui是第i类的平均向量,Ni是第i类的样本数,是第k类的第i样本,加入一个邻接图来使用未标记样本,寻找一个最优的投影矩阵w,将数据从不同的类中分离出来,同时使附近的样本更加接近,因此,半监督判别分析的目标函数如下所示:
其中,W是投影矩阵,WT是投影矩阵的转置,Sb是类间矩阵,Sw是类内矩阵,α是一个权衡参数,构造邻接图来估计样本的内在几何结构,J(w)定义如下:
定义的相应的权矩阵G:
其中,Nk(xj)表示xj的k近邻集合。
6.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,在步骤(5)中核半监督判别分析将原始数据映射到高维核Hilbert空间中,由φ:Rn→F映射在特征空间F中称为映射函数,如:高斯核函数和多项式核在以前的工作中被证明是有用的,设定一个非线性映射函数φ(·)通过N*N核矩阵K=[Kij]定义,
则数据矩阵:
φ=[φ(x1),φ(x2),...,φ(xm)] (15)
那么公式(9)和公式(10)可以改写为:
7.根据权利要求1所述的一种基于GitHub的半监督异构软件缺陷预测算法,其特征在于,在步骤(6)中代价敏感核半监督判别分析,构造一个代价矩阵,如下所示,Cost是代价函数,元素代价(i,j)(i,j∈1,2…c)指示将第I类中的实例分类为第I类的代价值,将缺陷类表示为1,而无缺陷类表示为2,成本(1,1)=0和成本(2,2)=0,因为正确的分类不会导致任何成本,
代价矩阵
使用函数f(i)来描述第i类的权重,定义为
结合有价值的代价信息,提出了一种对代价敏感的核判别分析方法,下面对代价敏感的半监督缺陷分析优化问题如下,
是类间散度;
是类内散度;
按照代数公式我们得到目标函数优化后:
其中,L是拉普拉斯矩阵。
CN201910261507.5A 2019-04-02 2019-04-02 一种基于GitHub的半监督异构软件缺陷预测方法 Active CN110008584B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910261507.5A CN110008584B (zh) 2019-04-02 2019-04-02 一种基于GitHub的半监督异构软件缺陷预测方法
PCT/CN2019/090948 WO2020199345A1 (zh) 2019-04-02 2019-06-12 一种基于GitHub的半监督异构软件缺陷预测算法
ZA2021/00183A ZA202100183B (en) 2019-04-02 2021-01-07 Github-based semi-supervised heterogeneous software defect prediction algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910261507.5A CN110008584B (zh) 2019-04-02 2019-04-02 一种基于GitHub的半监督异构软件缺陷预测方法

Publications (2)

Publication Number Publication Date
CN110008584A true CN110008584A (zh) 2019-07-12
CN110008584B CN110008584B (zh) 2020-11-06

Family

ID=67169426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910261507.5A Active CN110008584B (zh) 2019-04-02 2019-04-02 一种基于GitHub的半监督异构软件缺陷预测方法

Country Status (3)

Country Link
CN (1) CN110008584B (zh)
WO (1) WO2020199345A1 (zh)
ZA (1) ZA202100183B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881048A (zh) * 2020-07-31 2020-11-03 武汉理工大学 一种跨项目软件老化缺陷预测方法
CN112099353A (zh) * 2020-09-09 2020-12-18 浙江大学 基于散度约束核判别分析的连铸坯皮下夹渣缺陷预报方法
CN114356641A (zh) * 2022-03-04 2022-04-15 中南大学 一种增量式的软件缺陷预测方法、系统、设备及存储介质
CN115269377A (zh) * 2022-06-23 2022-11-01 南通大学 一种基于优化实例选择的跨项目软件缺陷预测方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529037A (zh) * 2020-11-06 2021-03-19 重庆恢恢信息技术有限公司 基于大数据分析建筑工地建设优化方法
CN113127342B (zh) * 2021-03-30 2023-06-09 广东电网有限责任公司 基于电网信息系统特征选择的缺陷预测方法及装置
CN113723679B (zh) * 2021-08-27 2024-04-16 暨南大学 基于代价敏感深度级联森林的饮用水质预测方法及系统
CN113985853B (zh) * 2021-11-01 2024-04-26 浙江大学 一种基于数据依赖核判别分析的工业过程可视化监控方法
CN114168478B (zh) * 2021-12-13 2024-05-28 东北大学 一种基于多图多标记学习的软件Bug检测方法
CN114297054B (zh) * 2021-12-17 2023-06-30 北京交通大学 一种基于子空间混合抽样的软件缺陷数目预测方法
CN114936597B (zh) * 2022-05-20 2023-04-07 电子科技大学 一种局部信息增强子空间真假目标特征提取方法
CN115858209B (zh) * 2022-11-17 2023-06-20 北京航空航天大学 基于信息保留协同优化的异构跨项目软件缺陷预测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991049A (zh) * 2017-04-01 2017-07-28 南京邮电大学 一种软件缺陷预测方法及预测系统
WO2018106964A1 (en) * 2016-12-07 2018-06-14 Noble Artificial Intelligence, Inc. Characterisation of dynamical statistical systems
US20180302459A1 (en) * 2015-04-21 2018-10-18 Ubergrape Gmbh Systems and methods for integrating external resources from third-party services
CN108710576A (zh) * 2018-05-30 2018-10-26 浙江工业大学 基于异构迁移的数据集扩充方法及软件缺陷预测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607046B1 (en) * 2005-05-06 2009-10-20 Sun Microsystems, Inc. System for predicting and preventing escalations
CN106201871B (zh) * 2016-06-30 2018-10-02 重庆大学 基于代价敏感半监督的软件缺陷预测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180302459A1 (en) * 2015-04-21 2018-10-18 Ubergrape Gmbh Systems and methods for integrating external resources from third-party services
WO2018106964A1 (en) * 2016-12-07 2018-06-14 Noble Artificial Intelligence, Inc. Characterisation of dynamical statistical systems
CN106991049A (zh) * 2017-04-01 2017-07-28 南京邮电大学 一种软件缺陷预测方法及预测系统
CN108710576A (zh) * 2018-05-30 2018-10-26 浙江工业大学 基于异构迁移的数据集扩充方法及软件缺陷预测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JING, XIAOYUAN 等: "Heterogeneous cross-company defect prediction by unified metric representation and CCA-based transfer learning", 《ACM PRESS THE 2015 10TH JOINT MEETING》 *
梁天超: "一种基于人工免疫朴素贝叶斯方法的软件缺陷预测模型", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
陆海洋: "基于特征提取和代价敏感学习的软件缺陷预测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881048A (zh) * 2020-07-31 2020-11-03 武汉理工大学 一种跨项目软件老化缺陷预测方法
CN112099353A (zh) * 2020-09-09 2020-12-18 浙江大学 基于散度约束核判别分析的连铸坯皮下夹渣缺陷预报方法
CN112099353B (zh) * 2020-09-09 2021-12-28 浙江大学 基于散度约束核判别分析的连铸坯皮下夹渣缺陷预报方法
CN114356641A (zh) * 2022-03-04 2022-04-15 中南大学 一种增量式的软件缺陷预测方法、系统、设备及存储介质
CN114356641B (zh) * 2022-03-04 2022-05-27 中南大学 一种增量式的软件缺陷预测方法、系统、设备及存储介质
CN115269377A (zh) * 2022-06-23 2022-11-01 南通大学 一种基于优化实例选择的跨项目软件缺陷预测方法

Also Published As

Publication number Publication date
ZA202100183B (en) 2021-08-25
WO2020199345A1 (zh) 2020-10-08
CN110008584B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN110008584A (zh) 一种基于GitHub的半监督异构软件缺陷预测算法
Xu et al. Cross-version defect prediction via hybrid active learning with kernel principal component analysis
Liu et al. An interactive method to improve crowdsourced annotations
US8713019B2 (en) Method and apparatus for predicting object properties and events using similarity-based information retrieval and modeling
US8429153B2 (en) Method and apparatus for classifying known specimens and media using spectral properties and identifying unknown specimens and media
Nun et al. Supervised detection of anomalous light curves in massive astronomical catalogs
CN111221920B (zh) 变电设备运维装置的案例库构建方法、装置及计算机存储介质
WO2021143268A1 (zh) 基于模糊推理理论的电力信息系统健康评估方法及系统
CN106503086A (zh) 分布式局部离群点的检测方法
CN111368690A (zh) 基于深度学习的海浪影响下视频图像船只检测方法及系统
CN112818162B (zh) 图像检索方法、装置、存储介质和电子设备
Teichert et al. Text mining for technology monitoring
WO2021161901A1 (ja) 特徴量選択方法、特徴量選択プログラム、マルチクラス分類方法、マルチクラス分類プログラム、特徴量選択装置、マルチクラス分類装置、及び特徴量セット
CN106326915A (zh) 一种基于改进核Fisher的化工过程故障诊断方法
Aziz et al. Efficacy of inheritance aspect in software fault prediction—a survey paper
CN107480441A (zh) 一种基于支持向量机的儿童脓毒性休克预后预测的建模方法及系统
CN106683263B (zh) 有价票据的缺陷管理方法及系统
Xia et al. A multi-target detection based framework for defect analysis of electrical equipment
Dadvar Poem: Pattern-oriented explanations of CNN models
Ajil et al. Fruit Ripeness Assertion Using Deep Learning
Manimekalai et al. Taxonomic classification of Plant species using support vector machine
Wacker et al. Detecting fake suppliers using deep image features
WO2022065216A1 (ja) 特徴量選択方法、特徴量選択プログラム、及び特徴量選択装置、マルチクラス分類方法、マルチクラス分類プログラム、及びマルチクラス分類装置、並びに特徴量セット
Vescan et al. Cross-Project Defect Prediction using Supervised and Unsupervised Learning: a Replication Study
BJ et al. A Comparative Study on Document Images Classification using Logistic Regression and Multiple Linear Regressions

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