CN112269732B - 一种软件缺陷预测特征的选择方法及装置 - Google Patents
一种软件缺陷预测特征的选择方法及装置 Download PDFInfo
- Publication number
- CN112269732B CN112269732B CN202011097889.1A CN202011097889A CN112269732B CN 112269732 B CN112269732 B CN 112269732B CN 202011097889 A CN202011097889 A CN 202011097889A CN 112269732 B CN112269732 B CN 112269732B
- Authority
- CN
- China
- Prior art keywords
- feature
- groups
- software defect
- features
- defect
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 125
- 238000010187 selection method Methods 0.000 title description 10
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000005070 sampling Methods 0.000 claims abstract description 20
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 230000002068 genetic effect Effects 0.000 claims abstract description 14
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000009825 accumulation Methods 0.000 claims description 8
- 230000035772 mutation Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 238000013522 software testing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种软件缺陷预测特征的选择方法及装置。所述方法包括:根据历史软件缺陷数据库,获取领域缺陷数据集;基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;基于遗传算法从所述候选特征序列中搜索出目标特征子集。本发明能够更有效地提高软件缺陷预测准确性。
Description
技术领域
本发明涉及软件测试技术领域,特别是一种软件缺陷预测特征的选择方法及装置。
背景技术
软件缺陷预测作为有效提升测试过程的辅助方法之一,其通过分析和挖掘软件缺陷数据,构建软件缺陷预测模型,从而预测出被测项目中的潜在缺陷模块,帮助测试人员实现更有针对性的测试,因此在软件工程领域具有重要的意义。
由于我们通常采用带有标签的缺陷数据集训练缺陷预测模型,若该缺陷数据集的标签带有噪声,则会导致最终预测结果不可信。而在实际的软件测试中,在对程序模块进行类型标记时容易产生噪声,主要原因包括:①软件测试存在漏报,即将有缺陷的程序模块误标记为无缺陷;②采用手工方式对标签进行标记易出现标记错误。因此,如何在标签噪声影响下提高分类性能和鲁棒性已成为软件缺陷预测技术在工程实践应用时必须要解决的关键因素。
特征选择作为重要的“数据预处理”过程,能够有效识别并移除无关特征和冗余特征,广泛用于解决维数灾难问题,提升缺陷预测模型的性能和可解释性。而在软件缺陷预测中,我们期望选择的特征子集不仅具有较高的分类准确性,更要对标签噪声具有良好的鲁棒性。虽然已有研究人员对特征选择方法的噪声鲁棒性进行了分析,但是很少有学者针对性地设计出具有一定噪声鲁棒性的特征选择方法。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种软件缺陷预测特征的选择方法及装置。
为了解决上述技术问题,本发明实施例提供了一种软件缺陷预测特征的选择方法,包括:
根据历史软件缺陷数据库,获取领域缺陷数据集;
基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;
基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;
根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;
基于遗传算法从所述候选特征序列中搜索出目标特征子集。
可选地,所述基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组,包括:
计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别;
根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组。
可选地,所述根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列,包括:
获取所述多个特征组中类相关度最大的第一特征;
获取所述多个特征组中Fisher得分最高的第二特征;
获取所述多个特征组内特征相关度累加和最大的第三特征;
获取所述多个特征组间特征相关度累加和最小的第四特征;
基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列。
可选地,所述获取所述多个特征组中类相关度最大的第一特征,包括:
针对每个所述特征组,计算所述特征组内每个特征与目标类别之间的对称不确定性值;
选取所述对称不确定性值最大的特征作为所述第一特征。
可选地,所述获取所述多个特征组中Fisher得分最高的第二特征,包括:
针对每个所述特征组,计算所述特征组内每个特征的Fisher评分值;
选取所述特征组内的所述Fisher评分值最高的特征作为所述第二特征。
可选地,所述获取所述多个特征组内特征相关度累加和最大的第三特征,包括:
针对每个所述特征组,计算所述特征组内的一个特征与其它所有特征之前的对称不确定性值的和值;
将所述和值最大的特征作为所述第三特征。
可选地,所述获取所述多个特征组间特征相关度累加和最小的第四特征,包括:
针对每个所述特征组,计算所述特征组内的每个特征与其它特征组内的所有特征的对称不确定性值的和值;
将所述特征组内的对称不确定性值的和值最大的特征作为所述第四特征。
可选地,所述基于遗传算法从所述候选特征序列中搜索出目标特征子集,包括:
计算所述候选特征序列中每个特征出现的特征概率;
根据所述特征概率,生成由M个个体组成的初始种群;其中,M为正整数;
根据所述领域缺陷数据集、所述初始种群和适应度函数,计算所述M个个体对应的适应度;
根据所述适应度从所述候选特征序列中筛选出所述目标特征子集。
为了解决上述技术问题,本发明实施例还提供了一种软件缺陷预测特征的选择装置,包括:
缺陷数据集获取模块,用于根据历史软件缺陷数据库,获取领域缺陷数据集;
缺陷样本集生成模块,用于基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;
多个特征组获取模块,用于基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;
候选特征序列获取模块,用于根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;
目标特征子集搜索模块,用于基于遗传算法从所述候选特征序列中搜索出目标特征子集。
可选地,所述多个特征组获取模块包括:
对称不确定值计算单元,用于计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别;
多个特征组获取单元,用于根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组。
可选地,所述候选特征序列获取模块包括:
第一特征获取单元,用于获取所述多个特征组中类相关度最大的第一特征;
第二特征获取单元,用于获取所述多个特征组中Fisher得分最高的第二特征;
第三特征获取单元,用于获取所述多个特征组内特征相关度累加和最大的第三特征;
第四特征获取单元,用于获取所述多个特征组间特征相关度累加和最小的第四特征;
候选特征序列生成单元,用于基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列。
可选地,所述第一特征获取单元包括:
第一对称不确定性SU值计算子单元,用于针对每个所述特征组,计算所述特征组内每个特征与目标类别之间的对称不确定性值;
第一特征选取子单元,用于选取所述对称不确定性值最大的特征作为所述第一特征。
可选地,所述第二特征获取单元包括:
Fisher评分值计算子单元,用于针对每个所述特征组,计算所述特征组内每个特征的Fisher评分值;
第二特征选取子单元,用于选取所述特征组内的所述Fisher评分值最高的特征作为所述第二特征。
可选地,所述第三特征获取单元包括:
第一和值计算子单元,用于针对每个所述特征组,计算所述特征组内的一个特征与其它所有特征之前的对称不确定性值的和值;
第三特征获取子单元,用于将所述和值最大的特征作为所述第三特征。
可选地,所述第四特征获取单元包括:
第二和值计算子单元,用于针对每个所述特征组,计算所述特征组内的每个特征与其它特征组内的所有特征的对称不确定性值的和值;
第四特征获取子单元,用于将所述特征组内的对称不确定性值的和值最大的特征作为所述第四特征。
可选地,所述目标特征子集搜索模块包括:
特征概率计算单元,用于计算所述候选特征序列中每个特征出现的特征概率;
初始种群生成单元,用于根据所述特征概率,生成由M个个体组成的初始种群;其中,M为正整数;
适应度计算单元,用于根据所述领域缺陷数据集、所述初始种群和适应度函数,计算所述M个个体对应的适应度;
目标特征子集筛选单元,用于根据所述适应度从所述候选特征序列中筛选出所述目标特征子集。
本发明与现有技术相比的优点在于:本发明实施例提供的软件缺陷预测特征的选择方法及装置,基于Bootstrap抽样技术并结合多种特征排序技术以及遗传算法提出了由粗到精的特征选择方法,能够更有效地提高软件缺陷预测准确性。本发明实施例能够有效提升特征选择方法的噪声鲁棒性:采用Bootstrap抽样技术保证候选特征的多样性以及特征选择的抗噪声能力;在候选特征选择阶段,采用多种不同的特征选择策略,旨在具备更优的分类性能和噪声鲁棒性。
附图说明
图1为本发明实施例提供的一种软件缺陷预测特征的选择方法的步骤流程图;
图2为本发明实施例提供的一种软件缺陷预测特征的选择装置的结构示意图。
具体实施方式
实施例一
参照图1,示出了本发明实施例提供的一种软件缺陷预测特征的选择方法的步骤流程图,如图1所示,该软件缺陷预测特征的选择方法具体可以包括如下步骤:
步骤101:根据历史软件缺陷数据库,获取领域缺陷数据集。
在本发明实施例中,历史软件缺陷数据库是指预先保存的含有软件缺陷特征的数据库。
在需要进行软件缺陷预测特征的选择时,可以从历史软件缺陷数据库中选择领域缺陷数据集,具体地,从软件缺陷历史仓库中挖掘软件模块和度量元,并根据缺陷报告对数据集标签进行标注,形成领域缺陷数据集D。
在获取领域缺陷数据集之后,执行步骤102。
步骤102:基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集。
在获取领域缺陷数据集之后,可以基于Bootstrap抽样技术对领域缺陷数据集进行抽样处理,生成软件缺陷样本集,具体地,结合Bootstrap抽样技术对该领域缺陷数据集进行抽样,生成N(N为正整数)个软件缺陷自助样本集(即本发明实施例统计的软件缺陷样本集),每个自助样本集规模和原数据集一样大。
在基于Bootstrap抽样技术对领域缺陷数据集进行抽样处理,生成软件缺陷样本集之后,执行步骤103。
步骤103:基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组。
在生成软件缺陷样本集之后,可以基于软件缺陷样本集和马尔科夫毯对原始特征进行分组,以得到多个特征组,具体地,可以结合下述具体实现方式进行详细描述。
在本发明的一种具体实现方式中,上述步骤103可以包括:
子步骤A1:计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别。
在本发明实施例中,对称不确定性SU值是指对称不确定性所对应的数值。
在获取软件缺陷样本集之后,可以计算软件缺陷样本集中特征与特征之间的对称不确定性,并将该对称不确定性对应的数值作为对称不确定性SU1值,记为SU(fi,fj)。然后,可以计算软件缺陷样本集中特征与目标类别之间的对称不确定性,并将该对称不确定性对应的数值作为对称不确定性SU2值,记为SU(fi,C)。
目标类别是指对软件特征进行分类的类别,可以包括缺陷类别和非缺陷类别。
在计算得到对称不确定性SU1值和对称不确定性SU2值之后,执行子步骤A2。
子步骤A2:根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组。
在计算得到对称不确定性SU1值和对称不确定性SU2值之后,可以根据对称不确定性SU1值和对称不确定性SU2值,结合马尔科夫毯模型对原始特征进行分组,以得到多个特征组,即根据SU(fi,fj)以及SU(fi,C),将原始特征按近似马尔科夫毯模型进行划分得到不同的特征组。
分组后的特征具有如下特点:同一特征组中的特征冗余度较高;而不同特征组之间的特征冗余度较低。
在对原始特征进行分组得到多个特征组之后,执行步骤104。
步骤104:根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列。
在对原始特征进行分组得到多个特征组之后,可以根据预先设计的启发式特征选择策略,从多个特征组中筛选出初始特征,得到筛选的候选特征序列,具体地,可以结合下述具体实现方式进行详细描述。
在本发明的另一种具体实现方式中,上述步骤104可以包括:
子步骤B1:获取所述多个特征组中类相关度最大的第一特征。
在本发明实施例中,第一特征是指从多个特征组中选择的类相关度最大的特征。
在获取多个特征组之后,可以获取多个特征组中类相关度最大的第一特征,具体地,针对每个特征组,依次计算组里每个特征与类的对称不确定性,选择取值最大的特征作为候选特征。
子步骤B2:获取所述多个特征组中Fisher得分最高的第二特征。
第二特征是指从多个特征组中选择的Fisher得分最高的特征。
在获取多个特征组之后,可以获取多个特征组中Fisher得分最高的特征作为第二特征,具体地,针对每个特征组,依次计算组里每个特征的Fisher得分,选择取值最大的特征作为候选特征。
子步骤B3:获取所述多个特征组内特征相关度累加和最大的第三特征。
第三特征是指从多个特征组中选择的特征相关度累加和最大的特征。
在获取多个特征组之后,可以获取多个特征组内特征相关度累加和最大的特征作为第三特征,具体地,针对每个特征组,可以计算特征组内的一个特征与其它所有特征之前的对称不确定性值的和值,并将和值最大的特征作为第三特征。
子步骤B4:获取所述多个特征组间特征相关度累加和最小的第四特征。
第四特征是指多个特征组间特征相关度累加和最小的特征。
在获取多个特征组之后,可以获取多个特征组间特征相关度累加和的最小值,以作为第四特征,具体地,针对每个特征组,计算特征组内的每个特征与其它特征组内的所有特征的对称不确定性值的和值,将特征组内的对称不确定性值的和值最大的特征作为第四特征。
子步骤B5:基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列。
在获取上述第一特征、第二特征、第三特征和第四特征之后,可以结合第一特征、第二特征、第三特征和第四特征生成候选特征序列,可以理解地,候选特征序列组织形式包括:候选特征的名称以及其被选中的次数,即结合候选特征的名称和被选中的次数进行排序,以生成候选特征序列。
在得到筛选的候选特征序列之后,执行步骤105。
步骤105:基于遗传算法从所述候选特征序列中搜索出目标特征子集。
在得到候选特征序列之后,可以基于遗传算法从候选特征序列中搜索出目标特征子集,具体地,可以结合下述具体实现方式进行详细描述。
在本发明的另一种具体实现方式中,上述步骤105可以包括:
子步骤C1:计算所述候选特征序列中每个特征出现的特征概率;
子步骤C2:根据所述特征概率,生成由M个个体组成的初始种群;其中,M为正整数;
子步骤C3:根据所述领域缺陷数据集、所述初始种群和适应度函数,计算所述M个个体对应的适应度;
子步骤C4:根据所述适应度从所述候选特征序列中筛选出所述目标特征子集。
在本发明实施例中,在获取候选特征序列之后,可以先对候选特征序列中的候选特征进行二进制编码,具体为:假设候选特征个数为L,则通过二进制编码得到一个长度为L的二进制符号串,若第i位所代表的特征被选中则将该位设置为1,否则设置为0。
计算候选特征序列C中的每个特征出现的概率(计算公式为:该特征被选中的次数/候选特征序列中所有特征被选中次数之和)并根据计算后的概率生成M个个体g1,g2…gM组成初始种群G;
根据领域缺陷数据集D和初始种群G,利用适应度函数计算每个个体的适应度,并根据适应度进行选择操作,其中适应度函数由选择朴素贝叶斯作为分类器后的预测准确率以及惩罚项2部分组成;
进而,结合遗传算子进行迭代操作,具体地,可以采用单点交叉算子进行交叉操作并采用基本位变异进行变异操作,生成新的种群G*;
判断是否满足终止条件,若不满足,则转到步骤2继续执行,否则输出最优特征子集。其中终止条件为达到最大代数或连续十次保持所选特征子集不变。
其中,构造适应度函数的过程可以为:选择经典的朴素贝叶斯作为分类器并将预测准确率作为适应度函数的一部分,在适应度函数中增加了惩罚项用于控制选入特征子集中的特征个数。
选择遗传算子的过程可以为:选择算子采用最佳保留选择法;交叉算子采用单点交叉;变异算子采用基本位变异;终止条件为达到最大代数或连续十次保持所选特征子集不变。
本发明实施例提供的软件缺陷预测特征的选择方法,基于Bootstrap抽样技术并结合多种特征排序技术以及遗传算法提出了由粗到精的特征选择方法,能够更有效地提高软件缺陷预测准确性。本发明实施例能够有效提升特征选择方法的噪声鲁棒性:采用Bootstrap抽样技术保证候选特征的多样性以及特征选择的抗噪声能力;在候选特征选择阶段,采用多种不同的特征选择策略,旨在具备更优的分类性能和噪声鲁棒性。
实施例二
参照图2,示出了本发明实施例提供的一种软件缺陷预测特征的选择装置的结构示意图,如图2所示,该软件缺陷预测特征的选择装置具体可以包括如下模块:
缺陷数据集获取模块210,用于根据历史软件缺陷数据库,获取领域缺陷数据集;
缺陷样本集生成模块220,用于基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;
多个特征组获取模块230,用于基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;
候选特征序列获取模块240,用于根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;
目标特征子集搜索模块250,用于基于遗传算法从所述候选特征序列中搜索出目标特征子集。
可选地,所述多个特征组获取模块包括:
对称不确定性SU值计算单元,用于计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别;
多个特征组获取单元,用于根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组。
可选地,所述候选特征序列获取模块包括:
第一特征获取单元,用于获取所述多个特征组中类相关度最大的第一特征;
第二特征获取单元,用于获取所述多个特征组中Fisher得分最高的第二特征;
第三特征获取单元,用于获取所述多个特征组内特征相关度累加和最大的第三特征;
第四特征获取单元,用于获取所述多个特征组间特征相关度累加和最小的第四特征;
候选特征序列生成单元,用于基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列。
可选地,所述第一特征获取单元包括:
第一对称不确定性SU值计算子单元,用于针对每个所述特征组,计算所述特征组内每个特征与目标类别之间的对称不确定性值;
第一特征选取子单元,用于选取所述对称不确定性值最大的特征作为所述第一特征。
可选地,所述第二特征获取单元包括:
Fisher评分值计算子单元,用于针对每个所述特征组,计算所述特征组内每个特征的Fisher评分值;
第二特征选取子单元,用于选取所述特征组内的所述Fisher评分值最高的特征作为所述第二特征。
可选地,所述第三特征获取单元包括:
第一和值计算子单元,用于针对每个所述特征组,计算所述特征组内的一个特征与其它所有特征之前的对称不确定性值的和值;
第三特征获取子单元,用于将所述和值最大的特征作为所述第三特征。
可选地,所述第四特征获取单元包括:
第二和值计算子单元,用于针对每个所述特征组,计算所述特征组内的每个特征与其它特征组内的所有特征的对称不确定性值的和值;
第四特征获取子单元,用于将所述特征组内的对称不确定性值的和值最大的特征作为所述第四特征。
可选地,所述目标特征子集搜索模块包括:
特征概率计算单元,用于计算所述候选特征序列中每个特征出现的特征概率;
初始种群生成单元,用于根据所述特征概率,生成由M个个体组成的初始种群;其中,M为正整数;
适应度计算单元,用于根据所述领域缺陷数据集、所述初始种群和适应度函数,计算所述M个个体对应的适应度;
目标特征子集筛选单元,用于根据所述适应度从所述候选特征序列中筛选出所述目标特征子集。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (7)
1.一种软件缺陷预测特征的选择方法,其特征在于,包括:
根据历史软件缺陷数据库,获取领域缺陷数据集;
基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;
基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;具体包括:计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别;根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组;
根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;具体包括:获取所述多个特征组中类相关度最大的第一特征;获取所述多个特征组中Fisher得分最高的第二特征;获取所述多个特征组内特征相关度累加和最大的第三特征;获取所述多个特征组间特征相关度累加和最小的第四特征;基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列;
基于遗传算法从所述候选特征序列中搜索出目标特征子集。
2.根据权利要求1所述的方法,其特征在于,所述获取所述多个特征组中类相关度最大的第一特征,包括:
针对每个所述特征组,计算所述特征组内每个特征与目标类别之间的对称不确定性值;
选取所述对称不确定性值最大的特征作为所述第一特征。
3.根据权利要求1所述的方法,其特征在于,所述获取所述多个特征组中Fisher得分最高的第二特征,包括:
针对每个所述特征组,计算所述特征组内每个特征的Fisher评分值;
选取所述特征组内的所述Fisher评分值最高的特征作为所述第二特征。
4.根据权利要求1所述的方法,其特征在于,所述获取所述多个特征组内特征相关度累加和最大的第三特征,包括:
针对每个所述特征组,计算所述特征组内的一个特征与其它所有特征之前的对称不确定性值的和值;
将所述和值最大的特征作为所述第三特征。
5.根据权利要求1所述的方法,其特征在于,所述获取所述多个特征组间特征相关度累加和最小的第四特征,包括:
针对每个所述特征组,计算所述特征组内的每个特征与其它特征组内的所有特征的对称不确定性值的和值;
将所述特征组内的对称不确定性值的和值最大的特征作为所述第四特征。
6.根据权利要求1所述的方法,其特征在于,所述基于遗传算法从所述候选特征序列中搜索出目标特征子集,包括:
计算所述候选特征序列中每个特征出现的特征概率;
根据所述特征概率,生成由M个个体组成的初始种群;其中,M为正整数;
根据所述领域缺陷数据集、所述初始种群和适应度函数,计算所述M个个体对应的适应度;
根据所述适应度从所述候选特征序列中筛选出所述目标特征子集。
7.一种软件缺陷预测特征的选择装置,其特征在于,包括:
缺陷数据集获取模块,用于根据历史软件缺陷数据库,获取领域缺陷数据集;
缺陷样本集生成模块,用于基于Bootstrap抽样技术对所述领域缺陷数据集进行抽样处理,生成软件缺陷样本集;
多个特征组获取模块,用于基于所述软件缺陷样本集和马尔科夫毯模型,对原始特征进行分组,得到多个特征组;多个特征组获取模块包括:对称不确定性SU计算单元,用于计算所述软件缺陷样本集中特征与特征之间的对称不确定性SU1值,及所述软件缺陷样本集中特征与目标类别之间的对称不确定性SU2值;所述目标类别包括:缺陷类别和非缺陷类别;多个特征组获取单元,用于根据所述对称不确定性SU1值、所述对称不确定性SU2值和所述马尔科夫毯模型,对所述原始特征进行分组,得到所述多个特征组;
候选特征序列获取模块,用于根据预先设计的启发式特征选择策略,从所述多个特征组中筛选出初始特征,得到筛选的候选特征序列;具体包括:获取所述多个特征组中类相关度最大的第一特征;获取所述多个特征组中Fisher得分最高的第二特征;获取所述多个特征组内特征相关度累加和最大的第三特征;获取所述多个特征组间特征相关度累加和最小的第四特征;基于所述第一特征、所述第二特征、所述第三特征和所述第四特征,生成所述候选特征序列;
目标特征子集搜索模块,用于基于遗传算法从所述候选特征序列中搜索出目标特征子集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097889.1A CN112269732B (zh) | 2020-10-14 | 2020-10-14 | 一种软件缺陷预测特征的选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011097889.1A CN112269732B (zh) | 2020-10-14 | 2020-10-14 | 一种软件缺陷预测特征的选择方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269732A CN112269732A (zh) | 2021-01-26 |
CN112269732B true CN112269732B (zh) | 2024-01-05 |
Family
ID=74338018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011097889.1A Active CN112269732B (zh) | 2020-10-14 | 2020-10-14 | 一种软件缺陷预测特征的选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269732B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653450A (zh) * | 2015-12-28 | 2016-06-08 | 中国石油大学(华东) | 基于改进遗传算法与Adaboost结合的软件缺陷数据特征选择方法 |
CN106126413A (zh) * | 2016-06-16 | 2016-11-16 | 南通大学 | 基于两阶段包裹式特征选择的软件缺陷预测方法 |
CN106203534A (zh) * | 2016-07-26 | 2016-12-07 | 南京航空航天大学 | 一种基于Boosting的代价敏感软件缺陷预测方法 |
CN107577457A (zh) * | 2017-09-05 | 2018-01-12 | 中国电子科技集团公司第四十研究所 | 一种改进的基于Markovblanket红外光谱特征选择算法 |
CN109710512A (zh) * | 2018-12-06 | 2019-05-03 | 南京邮电大学 | 基于测地线流核的神经网络软件缺陷预测方法 |
CN109933539A (zh) * | 2019-04-15 | 2019-06-25 | 燕山大学 | 一种基于主成分分析和组合采样的软件缺陷预测方法 |
CN109977028A (zh) * | 2019-04-08 | 2019-07-05 | 燕山大学 | 一种基于遗传算法和随机森林的软件缺陷预测方法 |
CN111177010A (zh) * | 2019-12-31 | 2020-05-19 | 杭州电子科技大学 | 一种软件缺陷严重程度识别方法 |
CN111338950A (zh) * | 2020-02-25 | 2020-06-26 | 北京高质系统科技有限公司 | 一种基于谱聚类的软件缺陷特征选择方法 |
CN111400180A (zh) * | 2020-03-13 | 2020-07-10 | 上海海事大学 | 一种基于特征集划分和集成学习的软件缺陷预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008004641A (ja) * | 2006-06-20 | 2008-01-10 | Toshiba Corp | 不良検出システム、不良検出方法及びプログラム |
-
2020
- 2020-10-14 CN CN202011097889.1A patent/CN112269732B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653450A (zh) * | 2015-12-28 | 2016-06-08 | 中国石油大学(华东) | 基于改进遗传算法与Adaboost结合的软件缺陷数据特征选择方法 |
CN106126413A (zh) * | 2016-06-16 | 2016-11-16 | 南通大学 | 基于两阶段包裹式特征选择的软件缺陷预测方法 |
CN106203534A (zh) * | 2016-07-26 | 2016-12-07 | 南京航空航天大学 | 一种基于Boosting的代价敏感软件缺陷预测方法 |
CN107577457A (zh) * | 2017-09-05 | 2018-01-12 | 中国电子科技集团公司第四十研究所 | 一种改进的基于Markovblanket红外光谱特征选择算法 |
CN109710512A (zh) * | 2018-12-06 | 2019-05-03 | 南京邮电大学 | 基于测地线流核的神经网络软件缺陷预测方法 |
CN109977028A (zh) * | 2019-04-08 | 2019-07-05 | 燕山大学 | 一种基于遗传算法和随机森林的软件缺陷预测方法 |
CN109933539A (zh) * | 2019-04-15 | 2019-06-25 | 燕山大学 | 一种基于主成分分析和组合采样的软件缺陷预测方法 |
CN111177010A (zh) * | 2019-12-31 | 2020-05-19 | 杭州电子科技大学 | 一种软件缺陷严重程度识别方法 |
CN111338950A (zh) * | 2020-02-25 | 2020-06-26 | 北京高质系统科技有限公司 | 一种基于谱聚类的软件缺陷特征选择方法 |
CN111400180A (zh) * | 2020-03-13 | 2020-07-10 | 上海海事大学 | 一种基于特征集划分和集成学习的软件缺陷预测方法 |
Non-Patent Citations (4)
Title |
---|
A hybird feature selection method based on fisher score and genetic algorithm;Zhou M;《journal of mathematical Science》;51-78 * |
FSDNP:针对软件缺陷数预测的特征选择方法;李叶飞;《计算机工程与应用》;1-8 * |
Software Defect Prediction Scheme Based on Feature Selection;Pei Wang;《2012 Fourth International Symposium on Information Science and Engineering》;1-4 * |
基于相关性分组的拉普拉斯特征评分算法;朱文龙;樊明宇;郑蓉;;中原工学院学报(第01期);1-6 * |
Also Published As
Publication number | Publication date |
---|---|
CN112269732A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189767B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111427775B (zh) | 一种基于Bert模型的方法层次缺陷定位方法 | |
CN112216356A (zh) | 一种基于机器学习的高熵合金硬度预测方法 | |
CN111343147B (zh) | 一种基于深度学习的网络攻击检测装置及方法 | |
CN114416421B (zh) | 一种代码缺陷的自动定位与修复方法 | |
CN107862327B (zh) | 一种基于多特征的安全缺陷识别系统和方法 | |
CN111833310B (zh) | 一种基于神经网络架构搜索的表面缺陷分类方法 | |
WO2022041956A1 (zh) | 一种晶圆探测数据的处理方法和计算机可读存储介质 | |
CN115647687B (zh) | 融合残差网络及自注意力机制的焊接异常实时检测方法 | |
CN111309607A (zh) | 一种代码方法级别的软件缺陷定位方法 | |
CN112199496A (zh) | 基于多头注意力机制与rcnn网络的电网设备缺陷文本分类方法 | |
CN114936158A (zh) | 一种基于图卷积神经网络的软件缺陷定位方法 | |
CN113516228A (zh) | 一种基于深度神经网络的网络异常检测方法 | |
US7596736B2 (en) | Iterative process for identifying systematics in data | |
CN113221960A (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
CN112861417A (zh) | 一种基于加权和选择性朴素贝叶斯的变压器故障诊断方法 | |
CN114816962A (zh) | 基于attention-lstm的网络故障预测方法 | |
CN112269732B (zh) | 一种软件缺陷预测特征的选择方法及装置 | |
CN110825642A (zh) | 一种基于深度学习的软件代码行级缺陷检测方法 | |
CN111737993B (zh) | 一种配电网设备的故障缺陷文本提取设备健康状态方法 | |
CN117633813A (zh) | 一种安全漏洞检测方法、装置、电子设备及存储介质 | |
CN115248769A (zh) | 一种测试用例优化方法、装置、设备及存储介质 | |
CN113283467A (zh) | 一种基于平均损失和逐类选择的弱监督图片分类方法 | |
US8189931B2 (en) | Method and apparatus for matching of bracketed patterns in test strings | |
CN115729825A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |