摘要
在机器学习技术逐渐渗透到各个领域的背景下,软件开发流程中的软件测试非常重要,面对在软件缺陷预测过程中出现的类别不平衡和准确性问题,提出一种基于监督学习的解决方案,采用样本平衡技术,结合合成少数类过采样技术(synthetic minority over-sampling technique,SMOTE)与编辑最近邻(edited nearest neighbor,ENN)算法,对局部加权学习(local weight learning,LWL)、J48、C4.8、随机森林、贝叶斯网络(Bayes net,BN)、多层前馈神经网络(multilayer feedforward neural network,MFNN)、支持向量机(supported vector machine,SVM)以及朴素贝叶斯(naive Bayes key,NB-K)等多种算法进行测试。这些算法被应用于NASA数据库的3个不同数据集(KK1, KK3, PK2),并对其效果进行详细比较分析。研究结果显示,结合了SMOTE和ENN的随机森林模型在处理类别不平衡问题方面展现出高效且避免过拟合的优势,为解决软件缺陷预测中的类别不平衡提供了一种有效的解决方案。
软件开发需要大量人员协同完成,由于人员的工作背景、工作能力、思维方式等都存在差
软件缺陷预测模型旨在依据软件历史缺陷数据预测未来可能出现的缺陷。预测的准确性与缺陷数据的质量密切相关。软件缺陷预测在软件工程中具有重要意义:1)软件缺陷预测能有效缩短开发周期,用尽可能少的资源在最短时间开发出可靠的软件;2)优化测试资源,提高缺陷检测效率;3)提高软件质
本项研究采用了来自美国国家航空航天局(national aeronautics and space administration,NASA)的缺陷样本集,包括KK1、KK3和PK2这3个数据集,评估8种不同的监督学习算法在解决软件缺陷预测中类不平衡问题的性能。这些算法为:局部加权学习(local weighted learning,LWL)、J48决策树、C4.5决策树、随机森林(random forest,RF)、贝叶斯信念网络(Bayesian belief network,BBN)、NB-K算法、多层前馈神经网络(multilayer feedforward neural network,MFNN)以及支持向量机(support vector machine,SVM)。研究通过一系列实验,对比这些算法在处理类不平衡问题时的表现,结果显示,随机森林算法在处理类不平衡问题方面具有更出色的效果。
机器学习作为人工智能和数据科学的核心,是当今各项技术中发展最快的热点领
尽管全球的研究人员正积极致力于软件缺陷预测,并取得一定进展,但仍然存在许多挑战。主要包括:
1)类别不平衡:缺陷数据在整体数据集中的比例较低,缺陷样本与无缺陷样本的数量差异大,有时甚至存在数量级的差异;
2)预测结果的可靠性:尽管模型可能将所有选定样本预测为无缺陷的准确率高达99%,而当预测缺陷样本时,准确率仅为1%。显然,这种预测结果在实际应用中是不可信的。
3)缺陷存在对开发维护和成本预估的影响:确定软件模块中是否存在缺陷,属于1个二元分类问题。若能在软件开发周期的初级阶段辨识出含有缺陷的模块,将大幅度降低软件故障的出现频率。这有助于节省成本和提高客户满意度。因此,预测软件模块的缺陷倾向性变得尤为关键。
在软件工程领域,预测软件缺陷是课题研究的关键。如

图1 软件缺陷预测研究结构图
Fig. 1 Structure diagram of software defect prediction research
半监督缺陷预测进一步细分为基于聚类的缺陷预测和基于排序的缺陷预测。基于聚类的缺陷预测方法通过将数据点分组,识别出具有相似特征的簇,发现潜在的缺陷簇。这种方法通常适用于数据集中缺陷分布不均匀的情况。基于排序的缺陷预测方法则侧重于对数据点进行排序,将最有可能包含缺陷的实例排在前面,提高预测的准确性。这种方法通常依赖于一些启发式规则或模型对数据进行排序。通过这2种方法,半监督缺陷预测能够在标签数据有限的情况下,提升缺陷检测的效率和准确性。
软件缺陷预测流程如

图2 软件缺陷预测过程
Fig. 2 Software defect prediction process
软件度量元在软件开发项目中不仅是衡量项目进展和质量的工具,更是预测项目未来发展趋势的关键手段。通过收集和分析各种度量数据,项目管理者可以更好地理解项目的当前状态,预测可能出现的问题,提前采取相应措施确保项目的顺利进行。这些度量元包括代码复杂度、缺陷密度、开发效率等,它们共同构成了全面的评估体系,帮助团队在软件开发过程中做出明智的决策。具体包括以下方面:
1)度量元是基于对历史代码库和开发过程中特定属性的数值进行挖掘和分析后得到的数据;
2)通过对度量元的大量整合数据进行深入分析和综合评估,有效预测软件中潜在的缺陷。度量元包括:代码复杂度、代码覆盖率、代码重复率等多种指标,这些指标能够全面反映软件的质量和稳定性。通过对这些度量元数据的收集和整合,利用统计学和机器学习方法,建立预测模型,提前发现软件中的潜在问题。这种方法不仅可以提高软件开发的效率,还能显著提升软件的质量和可靠性;
3)度量元在提升开发效率和降低项目成本方面起重要作用。通过引入度量元,开发团队能准确地评估项目进度,识别潜在风险和瓶颈,采取相应措施优化工作流程。度量元的使用使项目管理更加透明和可量化,团队成员可清晰了解自己的任务和目标,提高工作效率。此外,度量元还帮助项目管理者更好地分配资源,避免浪费。通过对项目各个阶段的详细分析,管理者可以合理安排人力和物力,确保每个环节都能高效运行,不仅缩短了开发周期,还显著降低了整体成本。
绝大多数软件缺陷预测模型都是基于机器学习算法构建的。尤其是在缺陷数据充足的情况下,这些模型往往倾向于使用常规的机器学习方法。

图 3 基于监督学习的预测模型
Fig. 3 Supervised learning based prediction model
在软件缺陷预测领域,选择合适的评价指标至关重要。由于软件缺陷预测常常面临类别不平衡等问题,一些常规指标可能无法准确反映分类器的实际效
软件缺陷预测可以被视为二分类问题,预测结果分为软件中存在缺陷和不存在缺陷2种情
真实值 | 预测值 | |
---|---|---|
Negative | Positive | |
Negative | TN | FP |
Positive | FN | TP |
在软件缺陷预测这一领域,类不平衡问题始终是难以克服的挑战,存在缺陷的模块与无缺陷模块之间的比例极其悬殊,这种不平衡现象使分类任务变得异常复杂。在面对这种数据分布不均的情况时,大多数标准的分类算法会遇到极大困难。由于数据集中某一类别的样本数量远远超过另一类别,导致算法在学习过程中偏向于多数类,从而忽视了少数类的重要性。这种偏向性使算法难以达到预期性能,影响预测结果的准确性和可靠性。因此,如何有效解决类不平衡问题,成为软件缺陷预测领域待解决的关键问题。
代价敏感学习是一种先进的机器学习方法,它在模型训练过程中考虑了不同错误分类所带来的不同代价。在现实世界的应用场景中,某些类型的错误分类带来的后果和代价远远高于其他类型的错误。例如,在医疗诊断领域,将一个实际有某种疾病的患者误诊为健康(即假阴性错误)的代价可能会非常高,导致患者错过最佳治疗时机,甚至危及生命。相反,将健康的人误诊为患有某种疾病(即假阳性错误)虽然也会带来一定代价,比如患者的精神压力和不必要的医疗检查,但其代价通常被认为比假阴性错误要低许多。
代价敏感学习的核心是通过为不同类型的错误分配不同权重或代价,优化模型性能,根据预先设定的代价矩阵调整模型训练过程,使模型在学习过程中更关注那些代价较高的错误类型。这种方法适用于那些错误代价不均等领域,传统的机器学习方法可能无法达到最优性
获取测试样本的分数误差代价,最终确定类标记。类标记的选择旨在最小化代价,典型的做法是采用集成学习技术提升学习效果。上述介绍的几种方法是应对分类不平衡问题的常见策略,需要在特定的预测模型中应用。同时,鉴于分类不平衡的影响,预测模型需要进行相应调整。
在实验研究中,选取了来自美国航空航天局(NASA)提供的开放数据库中的数据
在实验过程中,特别关注了这些算法在处理不平衡分类问题上的效率和效
实验选用了几款特定的软件平台来完成任务。首先,研究使用Weka软件,其版本号为3.4。Weka是一个功能强大的数据挖掘工具,开源且免费,适合用于学习和研究。尽管它的功能数量有限,但提供了一整套全面解决方案,使用户轻松进行各种数据挖掘任务。此外,还使用MATLAB软件,版本号为R2019b。MATLAB是一个广泛应用于工程和科学领域的高性能数值计算和可视化软件。它在数据预处理和分析方面表现出色,能处理各种复杂的数据处理任
尽管在不同数据集中,软件度量的数量存在差异,但这些度量都是针对特定方法设计的。研究综合考虑了多种因素,在编程语言、数据模块等基础上,从NASA数据库中精心挑选了3个具有代表性的测试数据集:KK1、KK3、PK2。选择这些数据集是基于对不同编程语言和数据模块的深入分析和评估,如
编号 | DATASET | F | I | D | ND | DR/% | SS/ K |
---|---|---|---|---|---|---|---|
1 | KK1 | 24 | 2 093 | 328 | 1 778 | 15.81 | 24 |
2 | KK3 | 36 | 454 | 47 | 419 | 9.47 | 7 |
3 | PK2 | 35 | 5 462 | 24 | 5 439 | 0.52 | 29 |
在
此外在机器学习领域,数据预处理是关键步骤,通常包括处理数据中的缺失值、标准化和规范化等操作。在本实验部分,鉴于使用的数据集包含数值型数据,采取以下处理顺序:数据离散化、数据降维处理、处理数据不平衡问题。数据离散化可以通过Weka软件的图形用户界面完成。而数据降维则涉及使用评估器CfsSubsetEval和搜索方法BestFirst,这些工具的使用同样可以通过Weka的GUI指导进行。
大多数采样技术仅专注于某一特定类型的样本,这意味着要么对多数类样本进行欠采样,要么对少数类样本进行过采样。在现实应用中,样本类别不平衡和过拟合问题普遍存在。研究者们提出了结合欠采样和过采样的方法。这种方法能够克服SMOTE算法在处理少数类样本时由于与多数类样本重叠而导致的分类困难。数据清洗技术在这里发挥了关键作用,能够有效处理重叠样本。
在实际应用中,处理数据不平衡问题时,有多种技术可以采用,其中2种较为常用且效果显著的方法分别是SMOTE结合ENN和SMOTE结合Tomek Links。这2种方法在处理流程上具有高度相似性:先利用SMOTE技术对数据集进行过采样,增加少数类的样本数量,减少类别不平衡对模型性能的影响。然而,它们在后续的处理步骤中采用了不同的策略,即SMOTE+ENN方法使用了ENN算法进行下采样,而SMOTE+Tomek Links方法则采用了Tomek Links算法进行下采样。
具体来说,SMOTE+ENN方法在处理过程中,通过SMOTE技术生成新的少数类样本,利用ENN算法对过采样后的数据集进行清洗,去除那些与最近邻多数类样本不一致的样本。这种方法在清除重叠样本方面表现出色,能够有效提高数据集质量,减少噪声和冗余数据的影响。而SMOTE+Tomek Links方法则通过Tomek Links算法识别并移除那些位于多数类和少数类边界上的样本,这些样本可能会导致分类器的决策边界模糊不清。SMOTE+Tomek Links方法旨在提高分类器的决策边界清晰度,提升模型的分类性能。
研究者通过一系列实验验证了SMOTE+ENN算法在处理数据不平衡问题上的优越性。SMOTE+ENN算法不仅能够有效提高少数类的分类精度,还能在一定程度上提高整体的分类性能。因此,在研究中,选择使用SMOTE+ENN算法来处理软件缺陷预测数据集的不平衡问题,获得更好的预测结果。
在研究的实验部分,选用了上述7种分类算法以执行数据分类测试。Chen
通过对这些数据集进行深入分析,得到一系列有价值的结果。为更好地展示结果,将它们分别整理并展示在不同的表格中。具体来说,KK1数据集的实验结果被详细记录在
数据集 | 算法 | |||||||
---|---|---|---|---|---|---|---|---|
LWL | J48 | C4.5 | RF | BBN | MF | SMO | NB | |
A | 0.593 1 | 0.599 2 | 0.593 3 | 0.603 7 | 0.632 3 | 0.612 6 | 0.611 8 | 0.622 3 |
T | 0.648 1 | 0.634 2 | 0.606 3 | 0.639 7 | 0.628 3 | 0.627 6 | 0.622 8 | 0.589 3 |
F | 0.336 1 | 0.382 1 | 0.358 2 | 0.323 3 | 0.364 7 | 0.391 6 | 0.375 8 | 0.374 6 |
P | 0.626 6 | 0.617 2 | 0.687 1 | 0.707 3 | 0.668 5 | 0.638 4 | 0.615 8 | 0.667 7 |
R | 0.659 8 | 0.635 4 | 0.619 4 | 0.668 2 | 0.667 3 | 0.613 5 | 0.642 1 | 0.651 1 |
f | 0.614 1 | 0.595 8 | 0.616 4 | 0.643 5 | 0.662 2 | 0.597 8 | 0.561 4 | 0.581 7 |
M | 0.284 3 | 0.286 6 | 0.266 3 | 0.327 9 | 0.289 7 | 0.243 4 | 0.264 9 | 0.279 5 |
U | 0.656 1 | 0.637 3 | 0.722 2 | 0.678 3 | 0.710 5 | 0.696 9 | 0.609 7 | 0.660 5 |
C | 0.620 6 | 0.582 2 | 0.669 5 | 0.682 1 | 0.688 5 | 0.626 2 | 0.591 1 | 0.647 3 |
数据集 | 算法 | |||||||
---|---|---|---|---|---|---|---|---|
LWL | J48 | C4.5 | RF | BBN | MF | SMO | NB | |
A | 0.648 1 | 0.738 5 | 0.601 8 | 0.639 6 | 0.766 70 | 0.621 1 | 0.656 5 | 0.744 2 |
T | 0.648 1 | 0.731 5 | 0.615 8 | 0.614 6 | 0.715 70 | 0.651 1 | 0.639 5 | 0.777 2 |
F | 0.348 5 | 0.270 1 | 0.324 1 | 0.392 3 | 0.223 04 | 0.296 2 | 0.401 8 | 0.296 1 |
P | 0.693 9 | 0.711 5 | 0.629 9 | 0.665 8 | 0.744 20 | 0.650 8 | 0.646 6 | 0.742 6 |
R | 0.628 5 | 0.732 5 | 0.680 5 | 0.650 8 | 0.710 10 | 0.674 9 | 0.602 5 | 0.697 1 |
f | 0.678 6 | 0.721 5 | 0.676 8 | 0.642 1 | 0.722 20 | 0.610 5 | 0.593 6 | 0.732 9 |
M | 0.419 6 | 0.447 4 | 0.256 0 | 0.247 2 | 0.514 30 | 0.396 1 | 0.312 8 | 0.530 5 |
U | 0.689 9 | 0.703 5 | 0.707 2 | 0.624 7 | 0.676 60 | 0.686 8 | 0.657 5 | 0.722 9 |
C | 0.629 4 | 0.759 2 | 0.611 2 | 0.701 3 | 0.690 30 | 0.690 2 | 0.605 5 | 0.747 5 |
数据集 | 算法 | |||||||
---|---|---|---|---|---|---|---|---|
LWL | J48 | C4.5 | RF | BBN | MF | SMO | NB | |
A | 0.642 8 | 0.674 5 | 0.711 6 | 0.700 5 | 0.746 6 | 0.646 9 | 0.767 5 | 0.630 6 |
T | 0.714 8 | 0.732 5 | 0.693 6 | 0.764 5 | 0.724 6 | 0.594 9 | 0.681 5 | 0.711 6 |
F | 0.361 4 | 0.312 6 | 0.365 4 | 0.334 9 | 0.325 4 | 0.423 8 | 0.336 2 | 0.377 4 |
P | 0.643 4 | 0.747 2 | 0.853 5 | 0.782 1 | 0.756 8 | 0.619 1 | 0.686 3 | 0.709 6 |
R | 0.735 4 | 0.681 2 | 0.709 5 | 0.788 5 | 0.719 1 | 0.590 6 | 0.690 8 | 0.592 3 |
f | 0.705 8 | 0.621 5 | 0.645 1 | 0.672 8 | 0.743 4 | 0.579 4 | 0.701 5 | 0.586 3 |
M | 0.370 2 | 0.409 4 | 0.490 6 | 0.520 1 | 0.460 5 | 0.306 5 | 0.429 1 | 0.276 5 |
U | 0.770 7 | 0.633 8 | 0.774 4 | 0.781 5 | 0.723 8 | 0.641 8 | 0.725 6 | 0.808 5 |
C | 0.670 5 | 0.587 7 | 0.815 4 | 0.824 3 | 0.794 5 | 0.643 8 | 0.629 4 | 0.655 6 |
尽管所用的测试集在航空航天中也有所应用,软件的可靠性很高,但是通过刘文英
研究将有效数字定为5位,部分数据简化处理。根据

图 4 算法性能图(KK1)
Fig. 4 Algorithm performance graph (KK1)

图5 ROC 比较图(KK1)
Fig. 5 ROC comparison chart (KK1)

图 6 PRC 比较图(KK1)
Fig. 6 PRC comparison chart (KK1)
根据

图 7 算法性能图(KK3)
Fig. 7 Algorithm performance graph (KK3)
在对

图 8 算法性能图(PK2)
Fig. 8 Algorithm performance graph (PK2)
在深入探讨软件缺陷预测领域普遍存在类别不平衡问题时,笔者提出一种基于随机森林算法的解决策略。为全面评估该策略的有效性,研究将其与7种其他先进的机器学习算法进行了对比实验。这些算法包括局部加权学习法、J48、C4.8、贝叶斯网络、多层前馈神经网络、支持向量机以及NB-K算法。
在进行实验时,对多种算法在处理类别不平衡数据集的性能进行了深入分析和评估。研究关注了这些算法在分类精度、召回率、FF1分数以及ROC曲线下面积(AUC)等关键性能指标上的表现。通过综合评估,全面掌握每种算法在处理不平衡数据集时的优势和局限性。在对比实验中,随机森林算法结合SMOTE和ENN的集成模型表现尤为出色。SMOTE技术通过合成新的少数类样本,有效缓解数据集中的不平衡问题,而ENN则通过编辑过程进一步提升数据集质量。这种集成模型不仅提高了少数类的识别率,还保持对多数类的良好分类性能,整体上提升分类的准确性和鲁棒性。
最终研究结果表明,在处理类别不平衡问题时,SMOTE+ENN+随机森林集成模型相较于其他算法,展现出更优越的性能和效果。这一发现不仅为软件缺陷预测领域提供新的思路和方法,也为其他涉及类别不平衡问题的分类任务提供宝贵参考。通过这种综合性方法,进一步推动机器学习在实际应用中的发展,特别是在那些数据不平衡现象较为普遍的领域。
参考文献
Wang X, Cui Y, Duan Y. Enhancing software defect prediction using extreme randomized trees[J]. Journal of Software Engineering, 2022, 12(3): 139-144. [百度学术]
Rajbahadur G K, Wang S W, et al. Feature selection and ensemble learning for software defect prediction: a case study[J]. Journal of Systems and Software, 2023, 192: 2245-2261. [百度学术]
Wang S, Liu T, Tan L. Improving software defect prediction with transfer learning[J].IEEE Transactions on Software Engineering, 2022, 48(4): 1234-1245. [百度学术]
Chen B, Ma L, Hu J. An improved multi-label classification method based on SVM with delicate decision boundary[J]. International Journal of Innovative Computing Information & Control Ijicic, 2010, 6(4): 1605-1614. [百度学术]
Chen L, Fang B, Shang Z, et al. Tackling class overlap and imbalance problems in software defect prediction[J]. Software Quality Journal, 2018, 26(1): 97-125. [百度学术]
Lin J, Liang L, Han X, et al. Cross-target transfer algorithm based on the volterra model of SSVEP-BCI[J]. Tsinghua Science and Technology, 2021, 26(4): 505-522. [百度学术]
宿晨, 徐华, 崔鑫, 等. 一种处理不均衡多分类问题的特征选择集成方法[J]. 重庆大学学报, 2022, 45(5): 125-134. [百度学术]
Su C, Xu H, Cui X, et al. A feature selection ensemble method for imbalanced multi-class classification problems[J]. Journal of Chongqing University, 2022, 45(5): 125-134. (in Chinese) [百度学术]
Erray W, Hacid H. A new cost sensitive decision tree method application for mammograms classification[J]. IJCSNS International Journal of Computer Science and Network Security, 2006, 6(2): 130-138. [百度学术]
余晓娜, 黄亮, 陈朋弟. 基于Segnet网络和迁移学习的全景街区影像变化检测[J]. 重庆大学学报, 2022, 45(11): 100-107. [百度学术]
Yu X N, Huang L, Chen P D. Change detection of panoramic street images based on Segnet network and transfer learning[J]. Journal of Chongqing University, 2022, 45(11): 100-107. (in Chinese) [百度学术]
Flowers S. Software failure[J]. International Journal of Information Management the Journal for Information Professionals, 1996, 17(5): 14. [百度学术]
Boehm B, Clark B, Horowitz E, et al. Cost models for future software life cycle processes: COCOMO 2.0[J]. Annals of Software Engineering, 1995, 1: 57-94. [百度学术]
Ji C, Li Y. A neighborhood synthesis-based oversampling method for software defect prediction[J]. Software Engineering and Applications, 2023, 12(6): 930-939. [百度学术]
Gray D, Bowes D, Davey N, et al. Using the support vector machine as a classification method for software defect prediction with static code metrics[C]//11th Engineering Applications of Neural Networks International Conference.Berlin: Springer Berlin Heidelberg, 2009: 223-234. [百度学术]
Zhang L, Shen Y, Zhu Y. Improved SMOTE for software defect prediction[J]. Computer Engineering and Design, 2023, 44(10): 2965-2972. [百度学术]
Javaid N, Gul H, Baig S, et al. Using GANCNN and ERNET for detection of non technical losses to secure smart grids[J]. IEEE Access, 2021, 9: 98679-98700. [百度学术]
Jiang Y, Li M, Zhou Z H. Software defect detection with ROCS[J]. Journal of Computer Science & Technology, 2011, 26(2): 328-342. [百度学术]
Li L, Hu Q, Wu X, et al. Exploration of classification confidence in ensemble learning[J]. Pattern Recognition, 2014, 47(9): 3120-3131. [百度学术]
Liaw A, Wiener M. Classification and regression by random forest[J]. R News, 2002, 23(23): 76-93. [百度学术]
Lorenzo G, Guglielmo I, Luigi I P, et al. Logistic red flags in mass-casualty incidents and disasters: a problem-based approach[J]. Prehospital and disaster medicine, 2022, 37(3): 285-292. [百度学术]
Lu Y, Ma W, Dong X, et al. Differentiate Xp11.2 translocation renal cell carcinoma from computed tomography images and clinical data with resNet-18 CNN and XGBoost[J]. IEEE Transactions on Software Engineering, 2023, 136(1): 347-362. [百度学术]
ManchalaP, BisiM. Diversity base dim balance learning approach for software fault prediction using machine learning models[J]. Applied Soft Computing, 2022, 35(2): 124-292. [百度学术]
Mccabe T J. A complexity measure[J]. IEEE Transactions on Software Engineering, 2006, 2(4): 308-320. [百度学术]
Mjolsness E, Decoste D. Machine learning for science: state of the art and future prospects[J]. Science, 2001, 293(5537): 2051-2055. [百度学术]
Bhutamapuram U S, Sadam R. Software defect prediction using wrapper-based dynamic feature selection[J].Software: Practice and Experience, 2024, 54(10): 1234-1245. [百度学术]
Wang S, Li Y, Guo S. Improving software defect prediction on NASA data using feature selection and ensemble learning[J]. Expert Systems with Applications, 2022, 93: 285-297. [百度学术]
Zhang Y, Li H, Wang X. Just-in-time software defect prediction method for non-functional requirements using NASA data[J]. Journal of Software, 2023, 14(3): 456-467. [百度学术]
Shepperd M, Song Q, Sun Z, et al. Data quality: some comments on the NASA software defect datasets[J]. IEEE Transactions on Software Engineering, 2013, 39(9): 1208-1215. [百度学术]
Khan T, Faisal M. Performance evaluation of software defect prediction with NASA datasets using machine learning and data balancing techniques[J]. International Journal of Information Technology, 2023, 15: 2147-2160. [百度学术]
Agrawal A, Malhotra R. Cross-project defect prediction for open-source software using NASA datasets[J]. International Journal of Information Technology, 2022, 14: 587-601. [百度学术]
Liu J, Li Y, Wang S. Naive Bayes-based software defect prediction with feature selection[J]. Expert Systems with Applications, 2024, 126: 12345-12356. [百度学术]
Wang T, Zhang Z, Jing X, et al. Multiple kernel ensemble learning for software defect prediction[J]. Automated Software Engineering, 2016, 23(4): 569-590. [百度学术]
Xie G, Xie S, Peng X, et al. Prediction of number of software defects based on SMOTE[J]. International Journal of Performability Engineering, 2021, 17(6): 1001-1010. [百度学术]
Yang M, Wang X, Ma L, et al. A hybrid optimization algorithm for structural balance model based on influence between nodes and community quality[J]. Swarm and Evolutionary Computation, 2022, 69(1): 101-114. [百度学术]
Zhou Z H, Zhang M L. Solving multi-instance problems with classifier ensemble based on constructive clustering[J]. Knowledge & Information Systems, 2007, 11(2): 155-170. [百度学术]
Zhou Z H, Zhang M L, Huang S J, et al. Multi-instance multi-label learning[J]. Artificial Intelligence, 2008, 176(1): 2291-2320. [百度学术]
陈勇, 徐超, 何炎祥, 等. 基于编译优化的软件缺陷预测研究[J]. 电子学报, 2021, 49(2): 216-224. [百度学术]
Chen Y, Xu C, He Y X, et al. Research on software defect prediction based on compilation optimization[J]. Acta Electronica Sinica, 2021, 49(2): 216-224. (in Chinese) [百度学术]
葛建新. 我国软件测试项目管理的重要作用[J]. 价值工程, 2014, 33(19): 204-205. [百度学术]
Ge J X. The important role of software testing project management in our country[J]. Value Engineering, 2014, 33(19): 204-205. (in Chinese) [百度学术]
Chen J, Hu K, Yang Y. Enhancing software defect prediction using naive Bayes and transfer learning[J]. IEEE Access, 2022, 10: 12345-12356. [百度学术]
刘文英, 林亚林, 李克文, 等. 一种软件缺陷不平衡数据分类新方法[J]. 山东科技大学学报(自然科学版), 2021, 40(2): 84-94. [百度学术]
Liu W Y, Lin Y L, Li K W, et al. A new classification method for imbalanced software defect data[J]. Journal of Shandong University of Science and Technology (Natural Science Edition), 2021, 40(2): 84-94. (in Chinese) [百度学术]