CN108304316B - 一种基于协同迁移的软件缺陷预测方法 - Google Patents

一种基于协同迁移的软件缺陷预测方法 Download PDF

Info

Publication number
CN108304316B
CN108304316B CN201711417594.6A CN201711417594A CN108304316B CN 108304316 B CN108304316 B CN 108304316B CN 201711417594 A CN201711417594 A CN 201711417594A CN 108304316 B CN108304316 B CN 108304316B
Authority
CN
China
Prior art keywords
target
classifier
samples
project
source
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.)
Active
Application number
CN201711417594.6A
Other languages
English (en)
Other versions
CN108304316A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201711417594.6A priority Critical patent/CN108304316B/zh
Publication of CN108304316A publication Critical patent/CN108304316A/zh
Application granted granted Critical
Publication of CN108304316B publication Critical patent/CN108304316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

一种基于协同迁移的软件缺陷预测方法,包括以下步骤:1)通过四种不同的标准化方法与TCA迁移学习方法同时结合,将原源项目数据集扩充进四个的新的同等规模源项目数据集;2)利用基于协同迁移的软件缺陷预测算法对目标项目构建协同分类器;3)对目标项目中新的待预测样本进行缺陷预测。本发明选取四种不同的标准化方法同时与TCA迁移学习方法结合来扩充源项目数据集,丰富了源项目数据的信息表达,为每一个源项目生成一个子分类器,并依据PSO算法对子分类器进行自适应权重分配,从而构建协同分类器,对目标项目中的待测样本进行缺陷预测。

Description

一种基于协同迁移的软件缺陷预测方法
技术领域
本发明属于软件缺陷预测算法领域,具体涉及一种基于协同迁移的软件缺陷预测方法。
背景技术
软件缺陷预测可分为项目内缺陷预测和跨项目缺陷预测。项目内缺陷预测需要大量该项目内已知是否有缺陷的样本,如文件、类和函数等,将其作为训练集,结合机器学习的方法生成分类器后对目标样本进行预测。跨项目缺陷预测则能够根据其他相关项目的样本对目标项目进行缺陷预测。现实开发过程中由于目标项目太新或者获取标签的成本过高,导致目标项目内训练样本过少,常常需要进行跨项目缺陷预测。在大多数跨项目缺陷预测算法中,由于目标项目与源项目开发过程的不同,两者样本分布往往存在差异,成为使用传统机器学习算法时的最大障碍,直接影响预测效果。
为了解决跨项目缺陷预测中源项目与目标项目样本分布差异较大的问题,迁移学***衡问题解决方法相结合,以此提升了TNB的性能;除了上述基于样本的迁移学习外,Pan等人提出了一种基于特征的迁移学习方法TransferComponent Analysis(TCA),它通过学习一个转换关系将源项目与目标项目映射到一个潜在空间,使得该空间中两者的距离尽可能小;在TCA的基础上,Nam等人观察到不同的标准化方法对迁移效果影响较大,因此设计了一套规则以选择合适的标准化方法与TCA结合,提出了TCA+方法。但是以上迁移学习都针对一对一的跨项目缺陷预测方法,在无法确定哪一个相关的源项目对目标项目有最好预测效果的前提下,如果只利用一个源项目进行预测,则对于其他源项目而言是极大的浪费,所以如何有效利用其他源项目的样本信息,即多源迁移学习,也是一个非常重要的问题。
对于多源迁移学***均值表示;Yang等人基于支持向量机(SVM),结合自适应函数,提出了一种自适应支持向量机,可用于对目标域的在线监测,不过对于各子分类的权重都是相等的。但是上述算法均未被用与软件缺陷的预测。
总的来说,目前的软件缺陷预测算法存在以下几个问题:在软件缺陷预测中,迁移学习对于跨项目缺陷预测十分重要,如何使得迁移学习算法充分利用源项目的有用信息,从而提升对目标项目的缺陷预测性能;不同的源项目对于目标项目会有不同的预测效果,在无法确定哪一个源项目预测性能最好的前提下,与一对一的跨项目缺陷预测相比,如何同时考虑其他所有相关的源项目才能提高预测性能。针对以上存在的几个问题,本文提出了一种基于协同迁移的软件缺陷预测算法。
发明内容
目前的软件缺陷预测算法存在以下几个问题:在软件缺陷预测中,迁移学习对于跨项目缺陷预测十分重要,如何能使得迁移学习算法充分利用源项目的有用信息以提升对目标项目的缺陷预测性能;不同的源项目对于目标项目会有不同预测效果,与一对一的跨项目缺陷预测相比,如何同时考虑其他所有相关的源项目才能提高预测性能。本发明提供一种基于协同迁移的软件缺陷预测方法,选取四种不同的标准化方法同时与TCA迁移学习方法结合来扩充源项目数据集,丰富了源项目数据的信息表达,为每一个源项目生成一个子分类器,并依据PSO算法对子分类器进行自适应权重分配,从而构建协同分类器,对目标项目中的待测样本进行缺陷预测。
本发明解决其技术问题所采用的技术方案是:
一种基于协同迁移的软件缺陷预测方法,所述方法包括以下步骤:
1)将原源项目数据集通过TCA迁移学习方法与四种不同的标准化方法同时结合后进行源项目数据集扩充,过程如下:
1.1)首先,将目标项目中已知类标的样本平均划分为目标训练集和目标测试集,要求包含同等数量的有缺陷样本;
1.2)将所有相关的源项目数据集结合目标测试集进行四种标准化处理,其中四种标准化方法为最大最小标准化、基于源域和目标域共同的平均值与标准差的Z-score标准化、基于源域平均值与标准差的Z-score标准化、基于目标域平均值与标准差的Z-score标准化;
1.3)调用TCA算法分别将四种标准化处理后的源项目数据集和处理前的原源项目数据集针对目标测试集进行迁移学习,得到扩充后的新源项目数据集和目标测试集;
2)利用基于协同迁移的软件缺陷预测算法对目标项目构建协同分类器,过程如下:
2.1)分别对扩充后数据集中的每一个源项目数据集和目标训练集利用机器学习中的决策树算法生成一个子分类器;
2.2)为每个子分类自适应分配权重以得到一个协同分类器;
3)为目标项目中新的待预测样本进行缺陷预测,过程如下:
3.1)对新的样本经过由标准化和迁移学习组成的预处理;
3.2)调用训练好的协同分类器对预处理后的每个新样本进行分类,预测其是否含有缺陷。
进一步,所述步骤1.3)的过程如下:
1.3.1)确定TCA迁移后得到的重表达特征维数,即潜在特征空间的维数;
1.3.2)根据所确定的潜在空间维数,借助高斯核函数确定一种转换关系,使得源项目数据集和目标数据集从原特征空间转换到潜在特征空间后,两者之间的分布差异减小;
1.3.3)将原N个源项目数据集和1个目标测试集扩充为5*N个源项目数据集和相对应的4*N+1个目标测试集。
再进一步,所述步骤2.2)的过程如下:
2.2.1)首先对协同分类器和目标函数进行定义:
定义1(协同分类器):将所有子分类根据各自贡献有侧重地进行结合后得到的分类器为协同分类器。协同分类器对于一个新样本j通过以下方式进行分类:
Figure BDA0001522322860000051
Figure BDA0001522322860000052
其中Scorei(j)表示每一个子分类器Ci给出的置信度,即该样本j为有缺陷样本的可能性,置信度的区间为0到1之间。wi为每个子分类器的权重,用来表示该子分类器对于协同分类器的贡献大小。M为子分类器的个数,threshold为判断该样本是否含有缺陷的置信度阈值。所有子分类器的加权置信度之和Comp(j)若大于该阈值则将该样本分类为有缺陷,否则为无缺陷。
定义2(目标函数):对于自适应权重分配这一优化过程,将F-measure作为目标函数,其计算方法为:
F=(2×P×R)/(P+R) (3)
P=TP/(TP+FP) (4)
R=TP/(TP+FN) (5)
其中,TP为真正样本数,代表预测为有缺陷的样本中真的含有缺陷的样本数;FP为假正样本数,代表预测为有缺陷的样本中实际上不含缺陷的样本数;FN为假反样本数,代表预测为无缺陷的样本中实际上含有去缺陷的样本数。在此基础上可以计算出,P为分类的准确率,指预测为有缺陷的样本中真实为有缺陷的样本比例,该值越高代表分类器越准;R为分类的召回率,指真实为有缺陷的样本中被预测为有缺陷的样本比例,该值越高代表有缺陷的样本被发现得越多。F-measure为准确率和召回率的调和平均值,该值越高则说明利用该组权重和阈值构成的协同分类器对有缺陷样本分得又多又准,即预测性能越好。
2.2.2)本文将PSO算法引入到权重自适应分配过程,先根据粒子群规模随机生成一系列粒子进行粒子群初始化。权重和阈值的一个组合为一个解,所有解组成的解集被表示为一个搜索空间中的粒子群。一个粒子所在的位置由一系列坐标值描述,每个值代表了一个解的一部分,即权重值或阈值。
2.2.3)计算每一个粒子的适应度,本文中适应度为利用该组权重和阈值组成的协同分类器对目标测试集的预测效果,用F-measure衡量。
2.2.4)根据该粒子经历过的最好位置以及整个粒子群所经历过的最好位置,即所得F-measure最大时的权重分配和阈值设置,来更新该粒子的位置和速度,速度表示该粒子移动的距离和方向。
2.2.5)返回步骤2.2.2),直到最大迭代数,输出粒子群中得到最大F-measure值的粒子位置,作为最优的权重和阈值。
2.2.6)根据最优的权重和阈值,将所有子分类器共同构建成一个最终的协同分类器;
在所述步骤1.3)中,本文选取四种不同的标准化方法同时与TCA迁移学习方法结合来扩充源项目数据集,丰富了源项目数据的信息表达。这是首次将多种标准化方法与迁移学习同时结合后应用到软件缺陷预测算法当中,其迁移性能明显优于其他方法。
在所述步骤2)中,本文使用基于协同迁移的软件缺陷预测算法,该算法能够充分利用各源项目经多种标准化方法处理后表达的不同信息,从而构建更全面的子分类器,并且结合对目标测试集的预测性能为各子分类器自适应分配权重,以此构建协同分类器,从而达到优化多源迁移学习的目的,最终能够优化跨项目软件缺陷预测性能
在所述步骤3)中,本文在为目标项目中每个新的待测样本进行缺陷预测的时候,首先对该样本结合其他相关源项目进行预处理,其中预处理由多种标准化方法和TCA迁移学习组成,从而为每个子分类器提供新的训练集,接着结合已经训练好的协同分类器的阈值和权重将新样本分类,实现了对每个目标待测样本进行跨项目缺陷预测的任务。
本发明的技术构思为:本文提出了基于协同迁移的软件缺陷预测算法,该算法首先将TCA算法与多种标准化方法同时结合,充分地提取出源项目数据集中的丰富信息,并减少源项目与目标项目的数据分布差异,以此对源项目数据集进行扩充;接着,对扩充后源项目数据集中的每一个数据集利用决策树算法训练出一个子分类器,对于同一个目标待测样本,每个子分类器都给出一个该样本是否有缺陷的置信度;然后,调用基于协同迁移的软件缺陷预测算法得到一个协同分类器,能够根据每个子分类器对协同分类器的贡献有侧重地将他们结合;最后,在对目标待测样本进行由标准化方法和TCA结合的预处理之后,调用训练好的协同分类器进行缺陷预测。
本发明的有益效果主要表现在:通过将TCA算法与多种标准化方法同时结合,对源项目与目标项目样本分布差异缩小的同时尽可能充分地利用源项目能提供的所有信息,并将新生成的数据集扩充源项目数据集,并通过基于协同迁移的软件缺陷预测算法得到一个协同分类器,能够利用所有相关的源项目对目标项目进行缺陷预测,并在对目标待测样本进行缺陷预测时调用协同分类器进行跨项目缺陷预测。该软件缺陷预测算法对5个项目集,共计28个软件项目,的测试结果表明,该缺陷预测算法能够充分利用所有源项目信息,并有效提高预测的效果。
附图说明
图1是基于协同迁移的软件缺陷预测方法的结构图。
图2是基于协同迁移的软件缺陷预测方法的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于协同迁移的软件缺陷预测方法,包括以下步骤:
1)通过四种不同的标准化方法与TCA迁移学习方法同时结合,将原源项目数据集扩充进四个的新的同等规模源项目数据集,过程如下:
1.1)首先,将目标项目中已知类标的样本根据类标等分为两部分:目标训练集和目标测试集,其中要求两者的同类标样本数相同且都必须含有有缺陷样本,目标项目中其他无类标的样本作为目标待测样本;
1.2)对于当前所有与目标项目相关的源数据集,结合目标测试集进行标准化处理,采用用4种标准化处理方法:
第一种方法为最大最小标准化,计算方法如下:
Figure BDA0001522322860000101
第二种方法为基于源项目和目标项目共同的平均值与标准差的Z-score标准化,计算方法如下:
Figure BDA0001522322860000102
第三种方法为基于源项目平均值与标准差的Z-score标准化,计算方法如下:
Figure BDA0001522322860000103
第四种方法为基于目标项目平均值与标准差的Z-score标准化,计算方法如下:
Figure BDA0001522322860000104
其中,x代表源项目与目标训练集合并后的数据集中某一维特征的向量表达,xi代表x中第i个样本的值,min()为取最小值,max()为取最大值,mean()为取平均值,std()为取标准差,x'i为xi经标准化处理后的值,四种方法对原数据进行重新表达后,丰富的信息有所不同;
1.3)调用TCA算法分别对经上述4种标准化处理后的源项目数据集和处理前的原源项目数据集针对各自对应的目标测试集进行迁移学习,得到新的源项目数据集和目标测试集,过程如下:
1.3.1)确定TCA迁移后得到的数据集重表达特征维数,即潜在特征空间的维数,将其设置为原来的一半;
1.3.2)根据所设置的潜在空间维数,借助高斯核函数确定一种转换关系,使得源项目数据集和目标数据集从原特征空间转换到潜在特征空间后,两者最大均值差异最小,最大均值差异计算方式为:
Figure BDA0001522322860000111
其中src为源项目数据集,tar为目标项目数据集,n1为源项目数据集样本数,n2为目标项目数据集样本数,srci为源项目中第i个样本,tari为目标项目中第i个样本;
1.3.3)将原N个源项目数据集和1个目标测试集扩充为5*N个源项目数据集和相对应的4*N+1个目标测试集;
2)利用基于协同迁移的软件缺陷预测算法对目标项目构建协同分类器,过程如下:
2.1)对每一个扩充后数据集中的源项目数据集和目标训练集利用机器学习中的决策树算法分别生成一个子分类器,所述决策树算法选用WEKA中的J48算法;
2.2)结合协同分类器的性能,为每个子分类器进行自适应权重分配,过程如下:
2.2.1)首先对协同分类器和目标函数进行定义:
定义1(协同分类器):将所有子分类器根据各自贡献有侧重地进行结合后得到的分类器为协同分类器,协同分类器对于一个新样本j通过以下方式进行分类:
Figure BDA0001522322860000121
Figure BDA0001522322860000122
其中Scorei(j)表示每一个子分类器Ci给出的置信度,即该样本j为有缺陷样本的可能性,置信度的区间为0到1之间,wi为每个子分类器的权重,用来表示该子分类器对于协同分类器的贡献大小。M为子分类器的个数,threshold为判断该样本是否含有缺陷的置信度阈值,所有子分类器的加权置信度之和Comp(j)若大于该阈值则将该样本分类为有缺陷,否则为无缺陷的;
定义2(目标函数):对于自适应权重分配这一优化过程,将F-measure作为目标函数,其计算方法为:
F=(2×P×R)/(P+R) (8)
P=TP/(TP+FP) (9)
R=TP/(TP+FN) (10)
其中,TP为真正样本数,代表预测为有缺陷的样本中真的含有缺陷的样本数;FP为假正样本数,代表预测为有缺陷的样本中实际上不含缺陷的样本数;FN为假反样本数,代表预测为无缺陷的样本中实际上含有去缺陷的样本数。在此基础上可以计算出,P为分类的准确率,指预测为有缺陷的样本中真实为有缺陷的样本比例,该值越高代表分类器越准;R为分类的召回率,指真实为有缺陷的样本中被预测为有缺陷的样本比例,该值越高代表有缺陷的样本被发现得越多。F-measure为准确率和召回率的调和平均值,该值越高则说明利用该组权重和阈值构成的协同分类器对有缺陷样本分得又多又准,即预测性能越好。
2.2.2)本文在对子分类器进行权重自适应分配时采用了PSO算法,为所有子分类器分配了一系列权重(w1,w2,..,wn)和一个缺陷判别阈值threshold。首先设置粒子群规模以及最大迭代数,然后根据粒子群规模随机生成一系列粒子进行粒子群初始化。权重和阈值的一个组合为一个解,所有解组成的解集被表示为一个搜索空间中的粒子群。一个粒子所在的位置由一系列坐标值描述,每个值代表了一个解的一部分,即权重值或阈值。
2.2.3)计算每一个粒子的适应度,本文中适应度为利用该组权重和阈值组成的协同分类器对目标测试集的预测效果,用F-measure表示,其计算方法如2.2.1)中定义2所示。
2.2.4)然后根据该粒子经历过的最好位置以及整个粒子群所经历过的最好位置,即所得F-measure最大时的权重分配和阈值设置,来更新该粒子的位置和速度,速度表示该粒子移动的距离和方向。
2.2.5)返回步骤2.2.3)进行迭代,直到最大迭代数,输出粒子群中得到最大F-measure值的粒子位置,作为最优的权重和阈值。
2.2.6)根据最优的权重和阈值,将所有子分类器共同构建成一个最终的协同分类器。
3)对目标项目中新的待预测样本进行缺陷预测,过程如下:
3.1)对新的样本进行预处理,预处理由四种标准化方法和TCA迁移学习组成;
3.2)调用训练好的协同分类器对预处理后的每个新样本进行分类,预测其是否含有缺陷。

Claims (2)

1.一种基于协同迁移的软件缺陷预测方法,其特征在于:所述方法包括以下步骤:
1)通过四种不同的标准化方法与TCA迁移学习方法同时结合,将原源项目数据集扩充进四个的新的同等规模源项目数据集,过程如下:
1.1)首先,将目标项目中已知类标的样本根据类标等分为两部分:目标训练集和目标测试集,其中要求两者的同类标样本数相同且都必须含有有缺陷样本,目标项目中其他无类标的样本作为目标待测样本;
1.2)对于当前所有与目标项目相关的源数据集,结合目标测试集进行标准化处理,采用4种标准化处理方法:
第一种方法为最大最小标准化,计算方法如下:
Figure FDA0002886121320000011
第二种方法为基于源项目和目标项目共同的平均值与标准差的Z-score标准化,计算方法如下:
Figure FDA0002886121320000012
第三种方法为基于源项目平均值与标准差的Z-score标准化,计算方法如下:
Figure FDA0002886121320000013
第四种方法为基于目标项目平均值与标准差的Z-score标准化,计算方法如下:
Figure FDA0002886121320000021
其中,x代表源项目与目标训练集合并后的数据集中某一维特征的向量表达,xi代表x中第i个样本的值,min()为取最小值,max()为取最大值,mean()为取平均值,std()为取标准差,x′i为xi经标准化处理后的值;
1.3)调用TCA算法分别对经上述4种标准化处理后的源项目数据集和处理前的原源项目数据集针对各自对应的目标测试集进行迁移学习,得到新的源项目数据集和目标测试集;
2)利用基于协同迁移的软件缺陷预测算法对目标项目构建协同分类器,过程如下:
2.1)对每一个扩充后数据集中的源项目数据集和目标训练集利用机器学习中的决策树算法分别生成一个子分类器,所述决策树算法选用WEKA中的J48算法;
2.2)结合协同分类器的性能,为每个子分类器进行自适应权重分配;
所述步骤2.2)的过程如下:
2.2.1)首先对协同分类器和评价其优劣的指标F-meaure进行定义:
定义1:将所有子分类器根据各自贡献有侧重地进行结合后得到的分类器为协同分类器,协同分类器对于一个新样本j通过以下方式进行分类:
Figure FDA0002886121320000031
Figure FDA0002886121320000032
其中Scorei(j)表示每一个子分类器Ci给出的置信度,即该样本j为有缺陷样本的可能性,置信度的区间为0到1之间,wi为每个子分类器的权重,用来表示该子分类器对于协同分类器的贡献大小,M为子分类器的个数,threshold为判断该样本是否含有缺陷的置信度阈值,所有子分类器的加权置信度之和Comp(j)若大于该阈值则将该样本分类为有缺陷,否则为无缺陷的;
定义2:对于自适应权重分配这一优化过程,将F-measure作为目标函数,其计算方法为:
F=(2×P×R)/(P+R) (8)
P=TP/(TP+FP) (9)
R=TP/(TP+FN) (10)
其中,TP为真正样本数,代表预测为有缺陷的样本中真的含有缺陷的样本数;FP为假正样本数,代表预测为有缺陷的样本中实际上不含缺陷的样本数;FN为假反样本数,代表预测为无缺陷的样本中实际上含有去缺陷的样本数;在此基础上可以计算出,P为分类的准确率,指预测为有缺陷的样本中真实为有缺陷的样本比例,该值越高代表分类器越准;R为分类的召回率,指真实为有缺陷的样本中被预测为有缺陷的样本比例;F-measure为准确率和召回率的调和平均值;
2.2.2)在对子分类器进行权重自适应分配时采用了PSO算法,为所有子分类器分配了一系列权重(w1,w2,..,wn)和一个缺陷判别阈值threshold,首先设置粒子群规模以及最大迭代数,然后根据粒子群规模随机生成一系列粒子进行粒子群初始化;权重和阈值的一个组合为一个解,所有解组成的解集被表示为一个搜索空间中的粒子群;一个粒子所在的位置由一系列坐标值描述,每个值代表了一个解的一部分,即权重值或阈值;
2.2.3)计算每一个粒子的适应度,适应度为利用该组合中的权重和阈值组成的协同分类器对目标测试集的预测效果,用F-measure表示;
2.2.4)然后根据该粒子经历过的最好位置以及整个粒子群所经历过的最好位置,即所得F-measure最大时的权重分配和阈值设置,来更新该粒子的位置和速度,速度表示该粒子移动的距离和方向;
2.2.5)返回步骤2.2.3)进行迭代,直到最大迭代数,输出粒子群中得到最大F-measure值的粒子位置,作为最优的权重和阈值;
2.2.6)根据最优的权重和阈值,将所有子分类器共同构建成一个最终的协同分类器;
3)对目标项目中新的待预测样本进行缺陷预测,过程如下:
3.1)对新的样本进行预处理,预处理由四种标准化方法和TCA迁移学习组成;
3.2)调用训练好的协同分类器对预处理后的每个新样本进行分类,预测其是否含有缺陷。
2.如权利要求1所述的基于协同迁移的软件缺陷预测方法,其特征在于:所述步骤1.3)的过程如下:
1.3.1)确定TCA迁移后得到的数据集重表达特征维数,即潜在特征空间的维数,将其设置为原来的一半;
1.3.2)根据所设置的潜在空间维数,借助高斯核函数确定一种转换关系,使得源项目数据集和目标数据集从原特征空间转换到潜在特征空间后,两者最大均值差异最小,最大均值差异计算方式为:
Figure FDA0002886121320000051
其中src为源项目数据集,tar为目标项目数据集,n1为源项目数据集样本数,n2为目标项目数据集样本数,srci为源项目中第i个样本,tari为目标项目中第i个样本;
1.3.3)将原N个源项目数据集和1个目标测试集扩充为5*N个源项目数据集和相对应的4*N+1个目标测试集。
CN201711417594.6A 2017-12-25 2017-12-25 一种基于协同迁移的软件缺陷预测方法 Active CN108304316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711417594.6A CN108304316B (zh) 2017-12-25 2017-12-25 一种基于协同迁移的软件缺陷预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711417594.6A CN108304316B (zh) 2017-12-25 2017-12-25 一种基于协同迁移的软件缺陷预测方法

Publications (2)

Publication Number Publication Date
CN108304316A CN108304316A (zh) 2018-07-20
CN108304316B true CN108304316B (zh) 2021-04-06

Family

ID=62871017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711417594.6A Active CN108304316B (zh) 2017-12-25 2017-12-25 一种基于协同迁移的软件缺陷预测方法

Country Status (1)

Country Link
CN (1) CN108304316B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325543A (zh) * 2018-10-10 2019-02-12 南京邮电大学 软件缺陷预测方法、可读存储介质和终端
CN110825644B (zh) * 2019-11-11 2021-06-11 南京邮电大学 一种跨项目软件缺陷预测方法及其***
CN111131248B (zh) * 2019-12-24 2021-09-24 南方电网电力科技股份有限公司 一种网站应用安全缺陷检测模型建模方法及缺陷检测方法
CN111367801A (zh) * 2020-02-29 2020-07-03 杭州电子科技大学 一种面向跨公司软件缺陷预测的数据变换方法
CN111881048B (zh) * 2020-07-31 2022-06-03 武汉理工大学 一种跨项目软件老化缺陷预测方法
CN112347392A (zh) * 2020-10-21 2021-02-09 上海淇玥信息技术有限公司 一种基于迁移学习的反欺诈评估方法、装置及电子设备
CN112527670B (zh) * 2020-12-18 2022-06-03 武汉理工大学 一种基于Active Learning的项目内软件老化缺陷预测方法
CN112651950B (zh) * 2020-12-30 2023-09-29 珠海碳云诊断科技有限公司 数据处理方法、样本分类方法、模型训练方法及装置
CN113268434B (zh) * 2021-07-08 2022-07-26 北京邮电大学 基于贝叶斯模型和粒子群优化的软件缺陷预测方法
CN114757305B (zh) * 2022-06-13 2022-09-20 华中科技大学 一种基于集成学习的电压互感器绝缘故障辨识方法及***
CN117421244B (zh) * 2023-11-17 2024-05-24 北京邮电大学 多源跨项目软件缺陷预测方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637143B (zh) * 2012-03-07 2014-12-10 南京邮电大学 基于改进的支持向量机的软件缺陷优先级预测方法
CN102663100B (zh) * 2012-04-13 2014-01-15 西安电子科技大学 一种两阶段混合粒子群优化聚类方法
CN103810101B (zh) * 2014-02-19 2019-02-19 北京理工大学 一种软件缺陷预测方法和软件缺陷预测***
WO2017131263A1 (ko) * 2016-01-29 2017-08-03 한국과학기술원 교차 프로젝트 결함 예측을 위한 최단 이웃점을 이용한 하이브리드 인스턴스 선택 방법
CN106991047B (zh) * 2017-03-27 2020-11-17 中国电力科学研究院 一种用于对面向对象软件缺陷进行预测的方法及***

Also Published As

Publication number Publication date
CN108304316A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN108304316B (zh) 一种基于协同迁移的软件缺陷预测方法
CN108564129B (zh) 一种基于生成对抗网络的轨迹数据分类方法
Stoean et al. Modeling medical decision making by support vector machines, explaining by rules of evolutionary algorithms with feature selection
CN112507996B (zh) 一种主样本注意力机制的人脸检测方法
CN109491914B (zh) 基于不平衡学习策略高影响缺陷报告预测方法
CN107392919B (zh) 基于自适应遗传算法的灰度阈值获取方法、图像分割方法
CN110674849B (zh) 基于多源域集成迁移的跨领域情感分类方法
CN109145960A (zh) 基于改进粒子群算法的数据特征选择方法及***
CN105095494A (zh) 一种对分类数据集进行测试的方法
Rustia et al. Predicting student's board examination performance using classification algorithms
CN105512675B (zh) 一种基于记忆性多点交叉引力搜索的特征选择方法
CN115063664A (zh) 用于工业视觉检测的模型学习方法、训练方法及***
CN107273914B (zh) 基于信源自适应动态选择的高效融合识别方法
Muthukannan et al. A GA_FFNN algorithm applied for classification in diseased plant leaf system
CN111445025B (zh) 确定业务模型超参数的方法和装置
Ebenezer et al. A comprehensive analysis of handling imbalanced dataset
CN116993548A (zh) 基于增量学习的LightGBM-SVM的教育培训机构信用评估方法及***
CN111797935A (zh) 基于群体智能的半监督深度网络图片分类方法
CN111292062A (zh) 基于网络嵌入的众包垃圾工人检测方法、***及存储介质
Zhang et al. AFOA: an adaptive fruit fly optimization algorithm with global optimizing ability
CN115859115A (zh) 一种基于高斯分布的智能重采样技术
Liang et al. ASE: Anomaly Scoring Based Ensemble Learning for Imbalanced Datasets
Li et al. Study on the Prediction of Imbalanced Bank Customer Churn Based on Generative Adversarial Network
CN111860755A (zh) 基于支持向量机回归的改进粒子群算法
Laureano et al. Affinity propagation SMOTE approach for imbalanced dataset used in predicting student at risk of low performance

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