CN113360392A - 一种跨项目软件缺陷预测方法及装置 - Google Patents
一种跨项目软件缺陷预测方法及装置 Download PDFInfo
- Publication number
- CN113360392A CN113360392A CN202110704103.6A CN202110704103A CN113360392A CN 113360392 A CN113360392 A CN 113360392A CN 202110704103 A CN202110704103 A CN 202110704103A CN 113360392 A CN113360392 A CN 113360392A
- Authority
- CN
- China
- Prior art keywords
- sample
- project
- data set
- new
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Evolutionary Computation (AREA)
- Tourism & Hospitality (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种跨项目软件缺陷预测方法及装置。跨项目软件缺陷预测方法包括:对源项目和目标项目的类标进行移除,对移除类标后的源项目和目标项目数据进行合并,得到合并后的新数据集;对合并后的新数据集进行聚类分析;根据聚类分析结果对项目数据的特征进行选择;使用选择后的特征对源项目和目标项目数据集进行过滤;对源项目数据集进行采样生成新的样本;将新的样本加入到过滤后的源项目数据集中;将过滤后的源项目数据集作为训练集输入到分类器中;分类器在源项目数据集上进行训练;将训练完成的分类器在过滤后的目标项目数据集进行分类预测;输出分类的结果。本发明提供的跨项目软件缺陷的预测方法,速度快,准确率高。
Description
技术领域
本发明属于软件测试技术领域,尤其是涉及一种跨项目软件缺陷预测方法及装置。
背景技术
跨项目软件缺陷预测具有广泛的实用价值,但通常相较于项目内缺陷预测其性能会更弱,主要原因是源项目和目标项目中的特征存在差异,分布不一致,对于分类器。同时,跨项目的缺陷预测有软件缺陷预测的通病:在数据集中,有缺陷的模块数量远小于没有缺陷的模块数量,即类不平衡问题,而模型在进行预测时,往往会偏向数量更多的一方,从而降低了对有缺陷模块的判断精度。
现有的跨项目软件缺陷的预测方法,由于上述的影响因素,准确率,可靠性较低,难以满足对跨项目软件缺陷的预测结果的需求。
发明内容
本发明提供了一种跨项目软件缺陷的预测方法,用以克服现有技术中源项目和目标项目特征分布差异性和类不平衡数据对预测结果有较大负面影响的问题。
本发明提供了一种跨项目软件缺陷的预测方法,包括:
对源项目和目标项目的类标进行移除;
对移除类标后的源项目和目标项目数据进行合并,得到合并后的新数据集;
对合并后的新数据集进行聚类分析;
根据聚类分析结果对项目数据的特征进行选择;
使用选择后的特征对源项目和目标项目数据集进行过滤;
对源项目数据集进行采样生成新的样本;
将新的样本加入到过滤后的源项目数据集中;
将过滤后的源项目数据集作为训练集输入到分类器中;
分类器在源项目数据集上进行训练;
将训练完成的分类器在过滤后的目标项目数据集进行分类预测;
输出分类的结果。
本发明提供的跨项目软件缺陷的预测方法,通过聚类分析对特征进行选择,使得过滤后的源项目和目标项目数据集之间特征的分布情况相似,减少了特征分布差异对预测结果带来的影响;使用过采样和可以改变样本权重迭代训练的分类器从数据和算法层面缓解了类不平衡数据带来的影响,使得预测方法的整体效果得到提升。
附图说明
图1为本发明提供的跨项目软件缺陷的预测方法实施实例的流程示意图;
具体实施方式
图1为本发明提供的跨项目软件缺陷的预测方法实施实例的流程示意图。如图1所示,该跨项目软件缺陷的预测方法包括:
S200,对源项目和目标项目的类标进行移除。
在实际操作中,目标项目的类标是为空的,在本说明中,目标项目数据集的类标被认为是存在但未进行标注,故在第一步需要和源项目数据集同时进行类标的移除操作。
S201,对移除类标后的源项目和目标项目数据进行合并,得到合并后的新数据集。
本发明提供的跨项目软件缺陷的预测方法对源项目和目标项目的特征分布的差异性通过聚类操作进行了降低,聚类的目的是为了选择出源项目和目标项目中拥有相似分布的特征数据,所以聚类是基于合并后的数据集的。
S202,选择若干个样本点作为初始凝聚点。
初始凝聚点的选取是为了进行分类的初始化,由于数据集没有指定依赖的特征或样本个体,所以随机选取的初始凝聚点更加有可靠性。
S203,计算样本点到各个凝聚点的欧氏距离。
本发明中采用欧氏距离作为空间距离的度量,欧氏距离是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。
S204,根据就近原则对样本点分类。
分类的依据是根据样本点到各个初始凝聚点的距离,依次对样本点到每个初始凝聚点的欧氏距离进行计算,得到的结果中,样本点到初始凝聚点距离最短,则样本属于以该凝聚点为中心的类。每个样本点经过计算都可以被划分到相应的类中。
S205,计算当前类的中心位置(均值)作为新的凝聚点。
当样本被分类到不同的类中,类的中心可能发生改变,为了进一步将样本分到正确的类别中,需要通过计算类中各样本之间的距离均值来确定当前类的中心位置,中心位置即为新的凝聚点。
S206,判断当前凝聚点和新的凝聚点是否一致。
凝聚点知否改变是聚类是否停止的一个标志。当前凝聚点和新的凝聚点一致说明分类已经完成
S207,若否,将当前凝聚点更新为新的凝聚点。
重复计算样本点到各个凝聚点的欧氏距离。根据就近原则对样本点分类。计算当前类的中心位置(均值)作为新的凝聚点。判断当前凝聚点和新的凝聚点是否一致。直至判断当前凝聚点和新的凝聚点是否一致结果为是。
S208,若是,结束聚类。
聚类结束,得到的是经过分类的不同类的样本集合。在样本集合的基础上,可以得到特征分布的总体情况,根据特征分布的总体情况可以对相似特征进行选择。
S209,对聚类得到的类进行排序。
对类排序可以得到在整体中占比较大的类,类中含有大部分的特征,类占比越大,对整体数据的特征分布就越有代表性。在本发明中,选取有代表性的类被认为是特征选择的依据。
S210,根据特征数量和类中样本占总样本比例确定特征选择数量。
每个不同的类中存在的样本数量是不一样的,特征分布也不同,规模越大的类越具有代表性,所以需要在大规模的类中选取数量较多的特征,以保证选取的特征在源项目和目标项目中的分布尽量相似。
S211,根据特征在各类中分布情况确定特征权重。
每个类中特征权重是不同的。特征在聚类过程中由于样本的聚集而在个各类中拥有了不同权重。
S212,对带有权重的特征进行排序。
对特征进行排序,使权重高的特征排在前面,权重低的特征排在后面,将权重作为我们在该类中选择特征的依据。
S213,按照特征选择数量选择排序在前的若干个特征。
权重高的特征通常在样本间拥有更小的方差,即数值更稳定且相似,所以权重高的特征是我们在类中会选择的类型。
S214,使用选择后的特征对源项目和目标项目数据集进行过滤。
在上一步中,我们选择出来的特征是在源项目和目标项目合并的数据集上样本占比较大的情况下的权重较大的特征。使用这些特征对源项目和目标项目的数据进行过滤,去掉冗余的特征和分布差异过大容易影响分类结果的特征,使得源项目和目标项目的样本总体的特征分布趋于近似。
S215,计算样本不平衡比例,确定采样倍率。
采样的倍率是基于不平衡比例的,因为采样的目标就是增加少量类的样本数量,在原有少量样本的基础上生成合理的新的少量样本,减少类不平衡数据带来的影响。
S216,根据表达式列表中的等式计算过滤后的源项目数据集中的每个少数类样本之间的欧氏距离。
本发明中采用欧氏距离作为空间距离的度量,欧氏距离是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。这里的欧式距离表示的是少量样本之间的距离。
S217,获取距离每个少数类样本最近的若干个近邻样本。
采样是基于每个样本和其近邻样本的值生成新样本数据。为了保证采样的随机性,我们基于每个样本相邻的点来生成新的样本数据。
S218,根据采样倍率随机选择近邻样本中的个体。
生成多少个新样本决定于采样倍率,通过采样倍率来确定选择的个数。
S219,根据表达式列表中的等式构建新的样本。
新的样本的构成去根据表达式列表中的等式取两点之间的中间位置的值作为新样本的值,这样构建的新样本具有随机性,同时取值符合整体少量样本的规律。
S220,将新的样本加入到过滤后的源项目数据集中。
通过加入新样本后,原数据集中少量类的数量增多了,一定程度上减缓了类不平衡数据带来的影响。
S221,将过滤后的源项目数据集作为训练集输入到分类器中。
过滤后的源项目数据集的特征分布情况和目标项目数据集相似,通过这样的源项目数据集训练出来的分类器在目标项目数据集上会有更好的分类效果。
S222,分类器对源项目数据集中的样本进行分类。
这里是基分类器对数据集进行初次分类,这次分类的目的是使用基分类器分类后对分类正确和分类错误的样本进行区分,即改变权重。
S223,判断样本是否分类错误。
判断样本分类的正确,以便将被错误分类的样本筛选出来,在下一轮训练中着重对分类错误的样本进行训练。
S224,若否,则该样本的权重不变。若是,则提升该样本权重。
权重代表的下一轮训练对该样本的重视程度。已经被正确分类的样本在下一轮分类中不用再次训练分类器对其的辨识能力,而没有被正确分类的样本在下一轮训分类中需要被着重训练。
S225,判断是否到达设定的迭代次数。
S226,若否,数据集权重更新。
重复分类器对源项目数据集中的样本进行分类。判断样本是否分类错误。若否,则该样本的权重不变。若是,则提升该样本权重。判断是否到达设定的迭代次数。直到判断是否到达设定的迭代次数判断结果为是。
S227,若是,训练完成。
此时训练器基于带有标注好的类标的源项目数据集已经进行了训练,训练信息将被用于在目标项目数据集中的样本的辨别。
S228,将过滤后的目标项目数据集中样本输入到分类器中。
过滤后的目标项目数据集的特征分布情况和源项目数据集相似,通过源项目数据集训练出来的分类器在这样的目标项目数据集上会有更好的分类效果。
S229,分类器判断样本是否有缺陷。
训练器基于在目标项目数据集上学习到的信息对目标项目数据集中的样本进行分类。
S230,若否,则标记该样本没有缺陷。
判定后,对该样本的类标进行标注,表明该样本不存在缺陷。
S231,若是,则标记该样本有缺陷。
判定后,对该样本的类标进行标注,表明该样本存在缺陷。
S232,输出分类的结果。
本实例提供的跨项目软件缺陷预测方法,通过对样本进行聚类获取源项目和目标项目中有相似分布的特征对源项目和目标项目数据集进行过滤,减少源项目和目标项目特征分布的差异性;通过采样生成少量类的新样本从数据层面缓解类不平衡带来的影响;通过基于分类正确性赋予样本权重,加强分类器对错误分类样本的训练,从算法层面缓解类不平衡带来的影响,提升了跨项目软件缺陷预测方法的准确性。
Claims (8)
1.一种跨项目软件缺陷的预测方法及装置,其特征在于,包括:
对源项目和目标项目的类标进行移除;
对移除类标后的源项目和目标项目数据进行合并,得到合并后的新数据集;
对合并后的新数据集进行聚类分析;
根据聚类分析结果对项目数据的特征进行选择;
使用选择后的特征对源项目和目标项目数据集进行过滤;
对源项目数据集进行采样生成新的样本;
将新的样本加入到过滤后的源项目数据集中;
将过滤后的源项目数据集作为训练集输入到分类器中;
分类器在过滤后的源项目数据集上进行训练;
将训练完成的分类器在过滤后的目标项目数据集进行分类预测;
输出分类的结果。
2.根据权利要求1所述的跨项目软件缺陷的预测方法,其特征在于,对特征进行聚类分析过程,包括:
选择若干个样本点作为初始凝聚点;
计算样本点到各个凝聚点的欧氏距离;
根据就近原则对样本点分类;
计算当前类的中心位置(均值)作为新的凝聚点;
判断当前凝聚点和新的凝聚点是否一致;
若否,将当前凝聚点更新为新的凝聚点;
若是,结束聚类。
3.根据权利要求2所述的对特征进行聚类分析过程,其特征在于,判断当前凝聚点和新的凝聚点是否一致,判断为否,将当前凝聚点更新为新的凝聚点之后,还包括:
若否,将当前凝聚点更新为新的凝聚点;
重复计算样本点到各个凝聚点的欧氏距离;根据就近原则对样本点分类;计算当前类的中心位置(均值)作为新的凝聚点;判断当前凝聚点和新的凝聚点是否一致;直至判断当前凝聚点和新的凝聚点是否一致结果为是。
4.根据权利要求2所述的对特征进行聚类分析过程,其特征在于,对特征进行选择,包括:
对聚类得到的类进行排序;
根据特征数量和类中样本占总样本比例确定特征选择数量;
根据特征在各类中分布情况确定特征权重;
对带有权重的特征进行排序;
按照特征选择数量选择排序在前的若干个特征。
5.根据权利要求1所述的跨项目软件缺陷的预测方法,其特征在于,对源项目数据集进行采样生成新的样本,包括:
计算样本不平衡比例,确定采样倍率;
根据表达式列表中的等式计算过滤后的源项目数据集中的每个少数类样本之间的欧氏距离;
获取距离每个少数类样本最近的若干个近邻样本;
根据采样倍率随机选择近邻样本中的个体;
根据表达式列表中的等式构建新的样本。
6.根据权利要求1所述的跨项目软件缺陷的预测方法,其特征在于,分类器的训练过程,包括:
分类器对源项目数据集中的样本进行分类;
判断样本是否分类错误;
若否,则该样本的权重不变;
若是,则提升该样本权重;
判断是否到达设定的迭代次数;
若否,数据集权重更新;
若是,训练完成。
7.根据权利要求5所述的分类器训练过程,其特征在于,判断是否到达设定的迭代次数,判断为否,数据集权重更新之后,还包括:
重复分类器对源项目数据集中的样本进行分类;判断样本是否分类错误;若否,则该样本的权重不变;若是,则提升该样本权重;判断是否到达设定的迭代次数;直到判断是否到达设定的迭代次数判断结果为是。
8.根据权利要求1所述的跨项目软件缺陷的预测方法,其特征在于,将训练完成的分类器在过滤后的目标项目数据集进行分类预测,包括:
将过滤后的目标项目数据集中样本输入到分类器中;
分类器判断样本是否有缺陷;
若否,则标记该样本没有缺陷;
若是,则标记该样本有缺陷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704103.6A CN113360392A (zh) | 2021-06-24 | 2021-06-24 | 一种跨项目软件缺陷预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704103.6A CN113360392A (zh) | 2021-06-24 | 2021-06-24 | 一种跨项目软件缺陷预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360392A true CN113360392A (zh) | 2021-09-07 |
Family
ID=77536234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110704103.6A Pending CN113360392A (zh) | 2021-06-24 | 2021-06-24 | 一种跨项目软件缺陷预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360392A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706751A (zh) * | 2022-03-09 | 2022-07-05 | 南京理工大学紫金学院 | 一种基于改进smote的软件缺陷预测方法 |
CN114924962A (zh) * | 2022-05-17 | 2022-08-19 | 北京航空航天大学 | 一种跨项目软件缺陷预测数据选择方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597735A (zh) * | 2019-09-25 | 2019-12-20 | 北京航空航天大学 | 一种面向开源软件缺陷特征深度学习的软件缺陷预测方法 |
CN112463640A (zh) * | 2020-12-15 | 2021-03-09 | 武汉理工大学 | 一种基于联合概率域适应的跨项目软件老化缺陷预测方法 |
-
2021
- 2021-06-24 CN CN202110704103.6A patent/CN113360392A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597735A (zh) * | 2019-09-25 | 2019-12-20 | 北京航空航天大学 | 一种面向开源软件缺陷特征深度学习的软件缺陷预测方法 |
CN112463640A (zh) * | 2020-12-15 | 2021-03-09 | 武汉理工大学 | 一种基于联合概率域适应的跨项目软件老化缺陷预测方法 |
Non-Patent Citations (1)
Title |
---|
倪超: ""基于特征迁移和实例迁移的跨项目缺陷预测方法"", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706751A (zh) * | 2022-03-09 | 2022-07-05 | 南京理工大学紫金学院 | 一种基于改进smote的软件缺陷预测方法 |
CN114706751B (zh) * | 2022-03-09 | 2023-09-15 | 南京理工大学紫金学院 | 一种基于改进smote的软件缺陷预测方法 |
CN114924962A (zh) * | 2022-05-17 | 2022-08-19 | 北京航空航天大学 | 一种跨项目软件缺陷预测数据选择方法 |
CN114924962B (zh) * | 2022-05-17 | 2024-05-31 | 北京航空航天大学 | 一种跨项目软件缺陷预测数据选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107067025B (zh) | 一种基于主动学习的文本数据自动标注方法 | |
CN106201871B (zh) | 基于代价敏感半监督的软件缺陷预测方法 | |
CN105069470A (zh) | 分类模型训练方法及装置 | |
CN105389480B (zh) | 多类不平衡基因组学数据迭代集成特征选择方法及系统 | |
CN110991657A (zh) | 一种基于机器学习的异常样本检测方法 | |
CN111914090B (zh) | 一种企业行业分类识别及其特征污染物识别的方法及装置 | |
CN113360392A (zh) | 一种跨项目软件缺陷预测方法及装置 | |
CN109993225B (zh) | 一种基于无监督学习的空域复杂度分类方法及装置 | |
CN113688042A (zh) | 测试场景的确定方法、装置、电子设备及可读存储介质 | |
CN111553127A (zh) | 一种多标记的文本类数据特征选择方法及装置 | |
CN106646158A (zh) | 基于多分类支持向量机变压器故障诊断提升方法 | |
JP6897749B2 (ja) | 学習方法、学習システム、および学習プログラム | |
CN111343147B (zh) | 一种基于深度学习的网络攻击检测装置及方法 | |
CN111046930A (zh) | 一种基于决策树算法的供电服务满意度影响因素识别方法 | |
CN114707571B (zh) | 基于增强隔离森林的信用数据异常检测方法 | |
CN104598774A (zh) | 基于logistic与相关信息熵的特征基因选择方法 | |
CN111950645A (zh) | 一种通过改进随机森林提高类不平衡分类性能的方法 | |
CN113268434B (zh) | 基于贝叶斯模型和粒子群优化的软件缺陷预测方法 | |
CN112132239B (zh) | 一种训练方法、装置、设备和存储介质 | |
CN115563520A (zh) | 一种基于kmeans聚类的半监督学习方法及其应用 | |
CN112148605B (zh) | 一种基于谱聚类的半监督学习的软件缺陷预测方法 | |
CN113810333B (zh) | 基于半监督谱聚类和集成svm的流量检测方法及系统 | |
CN115130343A (zh) | 一种基于ga深度优化机器学习的管道缺陷类型识别方法 | |
CN107871141A (zh) | 一种针对非平衡数据集的分类预测方法及分类预测器 | |
CN113569957A (zh) | 一种业务对象的对象类型识别方法、装置及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210907 |