CN112380132A - 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 - Google Patents
基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 Download PDFInfo
- Publication number
- CN112380132A CN112380132A CN202011314574.8A CN202011314574A CN112380132A CN 112380132 A CN112380132 A CN 112380132A CN 202011314574 A CN202011314574 A CN 202011314574A CN 112380132 A CN112380132 A CN 112380132A
- Authority
- CN
- China
- Prior art keywords
- defect data
- defect
- data samples
- data
- samples
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 221
- 238000012795 verification Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 61
- 238000012360 testing method Methods 0.000 claims abstract description 53
- 238000007636 ensemble learning method Methods 0.000 claims abstract description 20
- 230000001174 ascending effect Effects 0.000 claims abstract description 18
- 238000012163 sequencing technique Methods 0.000 claims abstract description 17
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000004927 fusion Effects 0.000 claims description 10
- 238000003062 neural network model Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000010801 machine learning Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 7
- 125000002015 acyclic group Chemical group 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
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
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种基于航天软件缺陷数据集类不平衡的对抗验证方法及装置。所述方法包括:获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。本发明实施例提供了切实可行的缺陷数据集的对抗验证方法,能够解决航天嵌入式软件缺陷预测工程实践测试集与训练集分布不一致的问题。
Description
技术领域
本发明涉及软件缺陷预测技术领域,特别是一种基于航天软件缺陷数据集类不平衡的对抗验证方法及装置。
背景技术
选择合适的学习算法进行适当的训练是基于机器学习的软件缺陷预测的核心。为了能够对建立的预测模型进行性能分析,往往会将历史数据划分为训练集和验证集两部分,其中测试集和验证集中的样本不重叠。为了使历史数据中所有的样本都能够得到检验,训练集和验证集的划分会重复多次进行,以对预测模型进行有效的测试,常用的划分方法为M×N交叉验证法。
在航天嵌入式软件缺陷预测真实的业务场景中,由于数据集采样和缺陷数据集分布规律的原因导致训练集和工程实践测试集存在分布不一致的情况,这时候交叉验证的方法无法准确的评估模型在工程实践测试集上的效果,模型在工程实践测试集上的效果远低于训练集。样本分布变化主要体现在训练集和工程实践测试集的数据分布存在差异,例如函数度量的非循环路径数目、基本圈复杂度、非重复操作符个数、广度优先调用层次、最大嵌套深度随着时间的变化,数据样本分布也发生了变化。
因此,更好的解决航天嵌入式软件缺陷预测工程实践测试集与训练集分布不一致的问题,提高软件缺陷预测的准确性,成为同行从业人员亟待解决的问题。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种基于航天软件缺陷数据集类不平衡的对抗验证方法及装置。
为了解决上述技术问题,本发明实施例提供了一种基于航天软件缺陷数据集类不平衡的对抗验证方法,包括:
获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;
合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;
基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;
根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
可选地,在所需训练的模型为树模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度;
在所需训练的模型为神经网络模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度;
所述缺陷数据训练集和所述缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
可选地,所述基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率,包括:
基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
可选地,所述基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率,包括:
基于LightGBM、XGBoost和Neural Network调用机器学习算法库,通过特征工程、模型调参、模型融合,对所述合并数据集中的缺陷数据样本进行预测,得到所述缺陷样本数据的预测概率。
可选地,所述根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本,包括:
根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,得到排序缺陷数据样本;
从所述排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,作为所述验证数据样本。
为了解决上述技术问题,本发明实施例还提供了一种基于航天软件缺陷数据集类不平衡的对抗验证装置,包括:
缺陷数据集获取模块,用于获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;
合并数据集生成模块,用于合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;
样本预测概率确定模块,用于基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;
验证数据样本获取模块,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
可选地,在所需训练的模型为树模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度;
在所需训练的模型为神经网络模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度;
所述缺陷数据训练集和所述缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
可选地,所述样本预测概率确定模块包括:
样本预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
可选地,所述样本预测概率获取单元包括:
预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network调用机器学习算法库,通过特征工程、模型调参、模型融合,对所述合并数据集中的缺陷数据样本进行预测,得到所述缺陷样本数据的预测概率。
可选地,所述验证数据样本获取模块包括:
排序数据样本获取单元,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,得到排序缺陷数据样本;
验证数据样本获取单元,用于从所述排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,作为所述验证数据样本。
本发明与现有技术相比的优点在于:
本发明实施例提供的基于航天软件缺陷数据集类不平衡的对抗验证方法及装置,通过不同的特征工程、不同的结构模型防止了训练过程过拟合和欠拟合。通过模型调参、模型融合、对抗验证的方法揭示了航天嵌入式软件缺陷数据训练集与测试集分布一致性,在航天软件工程实践中提供了切实可行的缺陷数据集的对抗验证方法。本发明解决了航天嵌入式软件缺陷预测工程实践测试集与训练集分布不一致的问题。
附图说明
图1为本发明实施例提供的一种基于航天软件缺陷数据集类不平衡的对抗验证方法的步骤流程图;
图2为本发明实施例提供的一种基于航天软件缺陷数据集类不平衡的对抗验证装置的结构示意图。
具体实施方式
实施例一
参照图1,示出了本发明实施例提供的一种基于航天软件缺陷数据集类不平衡的对抗验证方法的步骤流程图,如图1所示,该基于航天软件缺陷数据集类不平衡的对抗验证方法具体可以包括如下步骤:
步骤101:获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集。
在本发明实施例中,在所需训练的模型为树模型时,缺陷数据训练集和缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度等。
在所需训练的模型为神经网络模型时,缺陷数据训练集和缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度等。
缺陷数据训练集和缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
在需要进行验证数据样本的筛选时,可以根据需要训练的模型获取对应的缺陷数据训练集和缺陷数据测试集,进而,执行步骤102。
步骤102:合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集。
在获取到缺陷数据训练集和缺陷数据测试集之后,可以合并缺陷数据训练集和缺陷数据测试集,以得到合并数据集,具体地,可以将缺陷数据训练集中的训练数据样本和缺陷数据测试集中的测试数据样本进行合并,以得到一个数据集,即合并数据集,在得到合并数据集之后,可以对合并数据集中的训练数据样本和测试数据样本进行标记,具体地,航天嵌入式软件缺陷数据训练集最后1列赋值新标签为Label_Tr_Te为0,航天嵌入式软件缺陷数据测试集最后1列赋值新标签为Label_Tr_Te为1,对航天嵌入式软件缺陷数据进行数据探索性分析。
在合并缺陷数据训练集和缺陷数据测试集生成合并数据集之后,执行步骤103。
步骤103:基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率。
在生成合并数据集之后,可以基于集成学习方法对合并数据集中的缺陷数据样本进行预测,以确定缺陷数据样本对应的预测概率,具体地,可以基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
在本发明实施例中,可以调用import lightgbm as lgb、import xgboost asxgb、import tensorflow as tf机器学习算法库,通过特征工程、模型调参、模型融合,对新标签Label_Tr_Te进行预测,得到航天嵌入式软件缺陷数据训练集的样本概率。
在本实施例中,LightGBM、XGBoost、Neural Network集成学习方法,构建步骤包括:
1、LightGBM和XGBoost都是树模型,训练收敛速度非常快;调整正则化系数防止过拟合;调整早停轮数,防止陷入过拟合或欠拟合。
2、设计一个十层的神经网络,全连接层的节点个数分别为16384、8192、4096、2048、1024、512、256、128、64、1。调整正则化系数,使用正则化防止过拟合;调整学习率,选择学习率下降的时机进行调整。选择梯度下降的优化器为Adam,具备计算高效,对内存需求少优点。
3、模型融合采用两层次Stacking和加权平均集成学习。由于两个树模型的训练数据一样并且结构相似,对两个树模型进行Stacking。树模型和神经网络模型是完全不同的架构,预测值差异较大,将树模型和神经网络模型加权平均效果更好,加权平均选择系数各为0.5。
采用LightGBM和XGBoost树模型,对输入的91个特征,按照重要度的相关性排序。训练收敛速度快,可以处理缺失值,计算取值的增益,择优录取,调整正则化系数,均使用正则化,防止过拟合;降低学习率,获得更小MAE的预测输出;调整早停轮数,防止陷入过拟合或欠拟合;
采用神经网络模型,通过设置model=tf.keras.Sequential()序贯模型,设置10层tf.keras.layers.Dense全连接网络,激活函数采用relu。对输入的32个特征按照重要度的相关性排序。训练使用小batchsize,虽然在下降方向上可能会出现小偏差,但是对收敛速度的收益大,2000代以内可以收敛。调整正则化系数,使用正则化,防止过拟合;调整学习率,对训练过程的误差进行分析,选择学习率下降的时机进行调整。
模型融合:由于两个树模型的训练数据一样且结构相似,首先对两个数模型进行Stacking,然后再与神经网络的输出进行加权平均。由于树模型和神经网络模型是完全不同的架构,得到的评价分数输出相近,预测值差异较大,因此加权平均选择系数为0.5,虽然神经网络模型的评价分数确实会比树模型高一些,但多组最优输出的结合,可以互相弥补优势。
在基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率之后,执行步骤104。
步骤104:根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
在确定合并数据集中的缺陷数据样本对应的预测概率之后,可以根据预测概率,对合并数据集中的缺陷数据样本进行升序排序,并从缺陷数据样本筛选出设定比例的缺陷数据样本,具体地,可以根据预测概率对合并数据集中的缺陷数据样本进行升序排序,以得到排序缺陷数据样本(即升序排序的数据样本),然后,从排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,以作为验证数据样本。
在本实施例中,航天嵌入式软件缺陷数据训练集的样本概率按照升序排列,截取后15%的样本作为验证集,验证集的数据分布规律比较接近测试集的数据分布规律,可用于后续软件缺陷预测工程实践。
本发明设计一个高性能、深层次、全连接网络模型和LightGBM和XGBoost树模型,采用不同的特征工程、不同的结构模型防止了训练过程过拟合和欠拟合。通过模型调参、模型融合、对抗验证的方法揭示了航天嵌入式软件缺陷数据训练集与测试集分布一致性,在航天软件工程实践中提供了切实可行的缺陷数据集的对抗验证方法。
实施例二
参照图2,示出了本发明实施例提供的一种基于航天软件缺陷数据集类不平衡的对抗验证装置的结构示意图,如图2所示,该基于航天软件缺陷数据集类不平衡的对抗验证装置具体可以包括如下模块:
缺陷数据集获取模块210,用于获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;
合并数据集生成模块220,用于合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;
样本预测概率确定模块230,用于基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;
验证数据样本获取模块240,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
可选地,在所需训练的模型为树模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度;
在所需训练的模型为神经网络模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度;
所述缺陷数据训练集和所述缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
可选地,所述样本预测概率确定模块230包括:
样本预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
可选地,所述样本预测概率获取单元包括:
预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network调用机器学习算法库,通过特征工程、模型调参、模型融合,对所述合并数据集中的缺陷数据样本进行预测,得到所述缺陷样本数据的预测概率。
可选地,所述验证数据样本获取模块包括:
排序数据样本获取单元,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,得到排序缺陷数据样本;
验证数据样本获取单元,用于从所述排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,作为所述验证数据样本。
以上实施例对本发明进行了详细说明,本发明专利说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。对本发明的技术方法进行修改或者等同替换,都不脱离本发明技术方法的核心思想和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于航天软件缺陷数据集类不平衡的对抗验证方法,其特征在于,包括:
获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;
合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;
基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;
根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
2.根据权利要求1所述的方法,其特征在于,在所需训练的模型为树模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度;
在所需训练的模型为神经网络模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度;
所述缺陷数据训练集和所述缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
3.根据权利要求1所述的方法,其特征在于,所述基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率,包括:
基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
4.根据权利要求3所述的方法,其特征在于,所述基于LightGBM、XGBoost和NeuralNetwork集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率,包括:
基于LightGBM、XGBoost和Neural Network调用机器学习算法库,通过特征工程、模型调参、模型融合,对所述合并数据集中的缺陷数据样本进行预测,得到所述缺陷样本数据的预测概率。
5.根据权利要求1所述的方法,其特征在于,所述根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本,包括:
根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,得到排序缺陷数据样本;
从所述排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,作为所述验证数据样本。
6.一种基于航天软件缺陷数据集类不平衡的对抗验证装置,其特征在于,包括:
缺陷数据集获取模块,用于获取航天嵌入式软件对应的缺陷数据训练集和缺陷数据测试集;
合并数据集生成模块,用于合并所述缺陷数据训练集和所述缺陷数据测试集,生成合并数据集;
样本预测概率确定模块,用于基于集成学习方法对所述合并数据集中的缺陷数据样本进行预测,确定所述缺陷数据样本对应的预测概率;
验证数据样本获取模块,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,并从所述缺陷数据样本中筛选出设定比例的缺陷数据样本,得到所述航天嵌入式软件对应的验证数据样本。
7.根据权利要求6所述的装置,其特征在于,在所需训练的模型为树模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括词汇数、词汇频率、语句平均复杂度、交点复杂度、非循环路径数目、可执行语句行数、代码行、非注释非空行、LCSAJ数目、最大LCSAJ密度、广度优先调用层次、深度优先调用层次、非重复操作符个数、基本圈复杂度和McCabe复杂度;
在所需训练的模型为神经网络模型时,所述缺陷数据训练集和所述缺陷数据测试集的度量元包括代码行数、空白行数、可执行行数、注释行数、路径数、基本圈复杂度和最大嵌套深度;
所述缺陷数据训练集和所述缺陷数据测试集类不平衡软件缺陷率的范围为[0.41%,9.50%]。
8.根据权利要求6所述的装置,其特征在于,所述样本预测概率确定模块包括:
样本预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network集成学习方法对所述合并数据集中的缺陷数据样本进行预测,以得到所述缺陷样本数据的预测概率。
9.根据权利要求8所述的装置,其特征在于,所述样本预测概率获取单元包括:
预测概率获取单元,用于基于LightGBM、XGBoost和Neural Network调用机器学习算法库,通过特征工程、模型调参、模型融合,对所述合并数据集中的缺陷数据样本进行预测,得到所述缺陷样本数据的预测概率。
10.根据权利要求6所述的装置,其特征在于,所述验证数据样本获取模块包括:
排序数据样本获取单元,用于根据所述预测概率,对所述合并数据集中的缺陷数据样本进行升序排序,得到排序缺陷数据样本;
验证数据样本获取单元,用于从所述排序缺陷数据样本中筛选出排序靠后的15%的缺陷数据样本,作为所述验证数据样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314574.8A CN112380132B (zh) | 2020-11-20 | 2020-11-20 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314574.8A CN112380132B (zh) | 2020-11-20 | 2020-11-20 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380132A true CN112380132A (zh) | 2021-02-19 |
CN112380132B CN112380132B (zh) | 2024-03-29 |
Family
ID=74587232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011314574.8A Active CN112380132B (zh) | 2020-11-20 | 2020-11-20 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380132B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706780A (zh) * | 2022-04-13 | 2022-07-05 | 北京理工大学 | 一种基于Stacking集成学习的软件缺陷预测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201897A (zh) * | 2016-07-26 | 2016-12-07 | 南京航空航天大学 | 基于主成分分布函数的软件缺陷预测不平衡数据处理方法 |
US20180267886A1 (en) * | 2017-03-20 | 2018-09-20 | Devfactory Fz-Llc | Defect Prediction Operation |
CN110147322A (zh) * | 2019-04-19 | 2019-08-20 | 北京航空航天大学 | 一种基于软件网络的缺陷数据集构建与处理方法 |
CN110377496A (zh) * | 2019-04-28 | 2019-10-25 | 北京轩宇信息技术有限公司 | 一种软件回归测试过程中基于智能水滴的测试用例优先级确定方法 |
CN110674865A (zh) * | 2019-09-20 | 2020-01-10 | 燕山大学 | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 |
CN111400180A (zh) * | 2020-03-13 | 2020-07-10 | 上海海事大学 | 一种基于特征集划分和集成学习的软件缺陷预测方法 |
CN111581116A (zh) * | 2020-06-16 | 2020-08-25 | 江苏师范大学 | 一种基于分层数据筛选的跨项目软件缺陷预测方法 |
CN111782548A (zh) * | 2020-07-28 | 2020-10-16 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
CN111782512A (zh) * | 2020-06-23 | 2020-10-16 | 北京高质系统科技有限公司 | 基于不平衡噪声集的多特征软件缺陷综合预测方法 |
-
2020
- 2020-11-20 CN CN202011314574.8A patent/CN112380132B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201897A (zh) * | 2016-07-26 | 2016-12-07 | 南京航空航天大学 | 基于主成分分布函数的软件缺陷预测不平衡数据处理方法 |
US20180267886A1 (en) * | 2017-03-20 | 2018-09-20 | Devfactory Fz-Llc | Defect Prediction Operation |
CN110147322A (zh) * | 2019-04-19 | 2019-08-20 | 北京航空航天大学 | 一种基于软件网络的缺陷数据集构建与处理方法 |
CN110377496A (zh) * | 2019-04-28 | 2019-10-25 | 北京轩宇信息技术有限公司 | 一种软件回归测试过程中基于智能水滴的测试用例优先级确定方法 |
CN110674865A (zh) * | 2019-09-20 | 2020-01-10 | 燕山大学 | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 |
CN111400180A (zh) * | 2020-03-13 | 2020-07-10 | 上海海事大学 | 一种基于特征集划分和集成学习的软件缺陷预测方法 |
CN111581116A (zh) * | 2020-06-16 | 2020-08-25 | 江苏师范大学 | 一种基于分层数据筛选的跨项目软件缺陷预测方法 |
CN111782512A (zh) * | 2020-06-23 | 2020-10-16 | 北京高质系统科技有限公司 | 基于不平衡噪声集的多特征软件缺陷综合预测方法 |
CN111782548A (zh) * | 2020-07-28 | 2020-10-16 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
ALEXANDRE MOREIRA NASCIMENTO等: "A Cost-Sensitive Approach to Enhance the use of ML Classifiers in Software Testing Efforts", 《2019 18TH IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA)》, pages 1806 * |
方昊: "基于机器学习的软件缺陷预测及系统开发", 《CNKI优秀硕士学位论文全文库 信息科技辑》, no. 02, pages 138 - 627 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706780A (zh) * | 2022-04-13 | 2022-07-05 | 北京理工大学 | 一种基于Stacking集成学习的软件缺陷预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112380132B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109242149B (zh) | 一种基于教育数据挖掘的学生成绩早期预警方法及系统 | |
CN112257963B (zh) | 基于航天软件缺陷数据分布离群点的缺陷预测方法及装置 | |
CN112756759B (zh) | 点焊机器人工作站故障判定方法 | |
CN112668809B (zh) | 建立自闭症儿童康复效果预测模型的方法 | |
CN111459799A (zh) | 一种基于Github的软件缺陷检测模型建立、检测方法及系统 | |
CN110377511B (zh) | 一种面向数据流的测试用例生成方法 | |
CN108509644A (zh) | 一种具备模型预警更新机制的数据挖掘方法 | |
CN108491931B (zh) | 一种基于机器学习提高无损检测精度的方法 | |
CN113221960B (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
CN111858328B (zh) | 一种基于有序神经网络的软件缺陷模块严重程度预测方法 | |
CN111446002A (zh) | 一种基于人工智能的新型冠状病毒患者病况分类系统 | |
CN117034143B (zh) | 一种基于机器学习的分布式系统故障诊断方法及装置 | |
CN116932384A (zh) | 一种基于特征融合和特征选择的软件缺陷预测方法 | |
CN115145817A (zh) | 一种软件测试方法、装置、设备及可读存储介质 | |
CN112380132A (zh) | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 | |
CN114692507A (zh) | 基于堆叠泊松自编码器网络的计数数据软测量建模方法 | |
CN112579777A (zh) | 一种未标注文本的半监督分类方法 | |
JP2019003333A (ja) | バグ混入確率計算プログラム及びバグ混入確率計算方法 | |
CN114880818A (zh) | 一种面向全局燃气管网结构的神经网络监测方法和系统 | |
CN113128556A (zh) | 基于变异分析的深度学习测试用例排序方法 | |
CN111881040A (zh) | 一种基于循环神经网络的抽象状态模型的测试数据生成方法 | |
CN117669393B (zh) | 一种爆破块度不确定性预测方法及系统 | |
CN113326182B (zh) | 一种基于采样和集成学习的软件缺陷预测方法 | |
CN113392921B (zh) | 一种数据驱动的风控策略规则生成方法及系统 | |
CN114936158B (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 |