一种基于希尔伯特曲线映射距离的软件缺陷预测欠采样方法
《Engineering Applications of Artificial Intelligence》:An undersampling method for software defect prediction based on Hilbert curve mapping distance
【字体:
大
中
小
】
时间:2025年10月02日
来源:Engineering Applications of Artificial Intelligence 8
编辑推荐:
软件缺陷预测中的类别不平衡问题通过Hilbert曲线映射距离下采样方法解决,该法将实例映射到汉明空间并划分环形区域,利用Hilbert曲线计算距离优化非缺陷样本选择,实验表明在16个数据集上显著提升随机森林和CART模型性能,并通过统计检验验证优势。
软件缺陷预测是软件工程领域的重要研究方向,尤其是在软件系统变得越来越庞大和复杂的情况下。软件缺陷预测的目标是通过分析历史数据,识别出可能包含缺陷的软件模块,从而帮助测试人员采取预防和修复措施,提升软件质量并降低后期修改成本。然而,在实际应用中,软件缺陷数据通常呈现出严重的类别不平衡问题,即非缺陷样本的数量远远多于缺陷样本。这种不平衡性对模型的训练和预测性能产生了显著影响,使得模型更倾向于学习非缺陷样本的特征,而难以准确识别缺陷样本。因此,如何在保持数据分布的同时,有效减少非缺陷样本对模型的干扰,成为软件缺陷预测研究中的关键挑战之一。
针对这一问题,研究者们提出了多种方法,包括成本敏感学习、集成学习、过采样技术和欠采样方法等。其中,欠采样方法通过去除部分非缺陷样本,使得训练数据中缺陷样本的比例增加,从而提升模型对缺陷样本的识别能力。然而,传统的欠采样方法往往忽视了非缺陷样本的整体分布特性,导致在减少样本数量的同时,可能破坏数据的结构,影响模型的泛化能力。为了解决这一问题,本文提出了一种基于希尔伯特曲线映射距离的欠采样方法,称为HCMDU(Hilbert Curve Mapping Distance Undersampling)。该方法首先将样本映射到汉明空间,确保相似样本在空间中距离更近;接着,基于样本之间的汉明距离,将样本空间划分为多个局部区域;最后,利用希尔伯特曲线映射距离进一步挖掘局部区域内的数据分布模式,从而实现对非缺陷样本的更精准选择。实验结果表明,HCMDU在16个随机选取的软件缺陷数据集上,在随机森林(RF)和分类与回归树(CART)等模型中均表现出卓越的性能。此外,通过弗里德曼排名和Nemenyi后验检验进一步验证了HCMDU在软件缺陷预测任务中的有效性。
软件缺陷预测(SDP)作为软件质量保障的重要手段,其核心在于如何从海量的软件代码和数据中准确识别出可能存在问题的模块。随着软件开发的复杂性不断提升,传统的缺陷预测方法在面对类别不平衡问题时显得力不从心。一方面,缺陷样本数量相对较少,导致模型在训练过程中难以充分学习其特征;另一方面,非缺陷样本数量过多,使得模型更倾向于学习这些样本的分布,而忽视了缺陷样本的特殊性。这种偏差直接影响了预测结果的准确性,尤其是在实际应用中,缺陷样本的识别对于保障软件系统的稳定性具有至关重要的意义。因此,解决类别不平衡问题成为软件缺陷预测研究中的核心议题之一。
在众多解决类别不平衡问题的方法中,欠采样方法因其能够在减少样本数量的同时,保留数据的整体分布而受到广泛关注。传统的欠采样方法通常随机删除部分非缺陷样本,以平衡数据集。然而,这种方法可能会导致信息丢失,尤其是在非缺陷样本数量庞大的情况下。此外,随机删除非缺陷样本可能会破坏数据的结构,影响模型的泛化能力。为了解决这一问题,研究者们提出了多种改进的欠采样方法,如基于距离的欠采样方法,通过选择具有代表性的非缺陷样本来减少信息丢失。然而,这些方法在实际应用中仍存在一定的局限性,例如如何准确衡量样本之间的相似性,如何划分样本空间以确保局部区域内的数据分布特征得以保留等。
基于上述挑战,本文提出了一种新的欠采样方法——HCMDU,该方法结合了汉明空间映射和希尔伯特曲线映射距离的概念,旨在更有效地选择具有代表性的非缺陷样本,同时保持数据的整体分布。首先,将样本映射到汉明空间,使得相似样本在空间中的距离更近,从而增强样本之间的相似性。接着,基于样本之间的汉明距离,将样本空间划分为多个局部区域,这些区域能够更准确地反映样本的分布特征。最后,利用希尔伯特曲线映射距离,进一步挖掘局部区域内的数据分布模式,从而实现对非缺陷样本的精准选择。通过这种方法,模型能够更有效地识别缺陷样本,同时保持对非缺陷样本的泛化能力,从而提升整体预测性能。
在实现HCMDU方法的过程中,首先需要对样本进行汉明空间映射。汉明空间是一种基于二进制编码的高维空间,能够有效衡量样本之间的相似性。通过将样本映射到汉明空间,可以确保在空间中距离相近的样本具有较高的相似性,从而为后续的划分和选择提供依据。接下来,基于汉明距离对样本空间进行划分,形成多个局部区域。每个局部区域内的样本具有相似的分布特征,这有助于模型在局部区域内更准确地识别缺陷样本。最后,利用希尔伯特曲线映射距离对局部区域内的样本进行进一步筛选,确保在减少样本数量的同时,保留数据的整体分布特性。
为了验证HCMDU方法的有效性,本文在16个随机选取的软件缺陷数据集上进行了实验。实验结果表明,HCMDU在多个模型中均表现出卓越的性能。特别是在随机森林(RF)和分类与回归树(CART)等模型中,HCMDU的预测准确率显著高于传统方法。此外,通过弗里德曼排名和Nemenyi后验检验进一步验证了HCMDU的优越性。这些统计检验结果表明,HCMDU在软件缺陷预测任务中具有显著的优势,能够有效提升模型的预测性能。
在实验过程中,本文采用了PyCharm 2020作为开发工具,运行环境为一台配置了Intel (R) Core (TM) i7-8565U 2.00 GHz CPU和16 GB RAM的Windows 11电脑。实验数据包括多个软件缺陷数据集,这些数据集涵盖了不同的软件项目和开发阶段,具有较高的代表性。比较方法包括传统的欠采样方法、过采样方法以及集成学习方法等。评价指标包括准确率、召回率、F1分数等,这些指标能够全面衡量模型的预测性能。
实验结果表明,HCMDU在多个数据集上均表现出优越的性能。首先,HCMDU能够有效提升模型的预测准确率,尤其是在缺陷样本数量较少的情况下,其准确率显著高于传统方法。其次,HCMDU能够提高模型的召回率,即模型能够更准确地识别出所有可能存在的缺陷样本。此外,HCMDU还能够提升模型的F1分数,这表明其在准确率和召回率之间取得了更好的平衡。这些结果进一步验证了HCMDU在软件缺陷预测任务中的有效性。
通过弗里德曼排名和Nemenyi后验检验,本文进一步分析了HCMDU与其他方法的性能差异。弗里德曼排名是一种非参数统计检验方法,能够评估不同方法在多个数据集上的整体表现。Nemenyi后验检验则用于进一步分析排名结果,确定哪些方法之间存在显著差异。实验结果表明,HCMDU在所有比较方法中排名靠前,尤其是在多个数据集上均表现出显著的优势。这表明,HCMDU不仅能够有效解决类别不平衡问题,还能够提升模型的预测性能。
在实际应用中,软件缺陷预测的结果对于软件测试和维护具有重要的指导意义。通过准确识别缺陷样本,测试人员可以更有针对性地进行测试,从而提高测试效率和软件质量。此外,软件缺陷预测的结果还可以用于软件维护,帮助开发人员及时发现和修复潜在的问题。因此,提升软件缺陷预测的准确性对于软件工程实践具有重要的现实意义。
HCMDU方法的提出,为解决软件缺陷预测中的类别不平衡问题提供了一种新的思路。通过结合汉明空间映射和希尔伯特曲线映射距离的概念,HCMDU能够在减少非缺陷样本数量的同时,保留数据的整体分布,从而提升模型的预测性能。此外,HCMDU方法的实现过程相对简单,能够在实际应用中快速部署和使用。因此,HCMDU方法具有较高的实用价值和推广前景。
在未来的研究中,可以进一步探索HCMDU方法在不同应用场景下的适用性。例如,可以将HCMDU方法应用于不同的软件开发阶段,以评估其在不同阶段的预测效果。此外,还可以研究HCMDU方法与其他机器学习方法的结合,以进一步提升模型的预测性能。同时,可以探索HCMDU方法在不同数据集上的泛化能力,以评估其在不同数据集上的适用性。这些研究方向将有助于进一步完善HCMDU方法,提升其在软件缺陷预测任务中的应用价值。
综上所述,软件缺陷预测作为软件工程领域的重要研究方向,其核心在于如何有效解决类别不平衡问题。传统的欠采样方法在面对这一问题时存在一定的局限性,而本文提出的HCMDU方法则提供了一种新的解决方案。通过结合汉明空间映射和希尔伯特曲线映射距离的概念,HCMDU能够在减少非缺陷样本数量的同时,保留数据的整体分布,从而提升模型的预测性能。实验结果表明,HCMDU在多个数据集和模型中均表现出卓越的性能,其预测准确率、召回率和F1分数均显著高于传统方法。此外,通过弗里德曼排名和Nemenyi后验检验进一步验证了HCMDU的优越性。因此,HCMDU方法不仅能够有效解决类别不平衡问题,还能够提升软件缺陷预测的准确性,具有较高的实用价值和推广前景。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号