基于可解释性引导的、利用语义锚点解决数据匮乏的CPDP增强方法

《Science of Computer Programming》:Explainability-guided augmentation for data-scarce CPDP via semantic anchors

【字体: 大 中 小 】 时间:2026年07月15日 来源:Science of Computer Programming 1.6

编辑推荐:

  永昌丁|周海浩|程云坤|李浩生|彭荣|荆晓园 摘要:在现实世界的软件项目中,尤其是在新系统或正在发展的系统中,带有标签的缺陷数据以及可靠的目标项目历史记录往往十分稀缺,获取成本高昂,且难以验证。这使得在小样本环境下进行缺陷预测成为跨项目软件工程中一个实际但具有挑战性的问题。为了

  永昌丁|周海浩|程云坤|李浩生|彭荣|荆晓园

摘要:在现实世界的软件项目中,尤其是在新系统或正在发展的系统中,带有标签的缺陷数据以及可靠的目标项目历史记录往往十分稀缺,获取成本高昂,且难以验证。这使得在小样本环境下进行缺陷预测成为跨项目软件工程中一个实际但具有挑战性的问题。为了解决这一问题,我们提出了基于可解释性引导的数据增强方法(ExDA),用于跨项目缺陷预测(CPDP)。ExDA采用混合特征重要性评估器来识别高影响力特征,并运用选择性变分自编码器(sVAE)通过仅调整低重要性特征来生成新样本,同时保留由可解释性得出的高重要性特征锚点。在本文中,这些锚点被用作与CPDP相关的预测指标特征,它们是通过统计或模型-based的重要性评估确定的,并得到现有解释方法的支撑,而非独立验证过的领域级语义结构。这种设计有助于增强后的数据保持可追溯的缺陷相关指标模式,并与原始特征分布保持一致。我们的实验针对的是那些通常面临极端数据稀缺问题,且在使用外部数据时还会受到数据漂移和分布变化影响的跨项目缺陷预测场景。现有证据表明,在几种小样本迁移场景下,ExDA作为一种以召回率为导向且具有可解释性的增强策略最为有效,而JIRA实验则揭示了与锚点稳定性相关的适用性边界,NASA实验则显示出了指标权衡的边界:当跨项目锚点候选值不稳定,或者高/低重要性划分与目标分布不匹配时,受限的生成方式可能会带来负面影响而非好处。因此,我们将ExDA视为数据稀缺的软件工程环境中的一个实用但存在局限性的选择。

引言:软件缺陷预测(SDP)[1]、[2]旨在在开发生命周期的早期识别出可能存在故障的软件模块。通过分析历史代码指标和缺陷数据,SDP模型能够帮助开发团队确定检查的重点,将测试资源分配到风险较高的模块上。在各种SDP方法中,跨项目缺陷预测(CPDP)[3]、[4]、[5]、[6]、[7]、[8]因能够将成熟源项目中的知识转移到新的或数据稀缺的目标项目上,而在实际应用中更为常用。这种方法解决了项目内部缺陷预测(WPDP)[9]所面临的根本限制,即需要同一项目的大量历史数据。尽管在概念上具有优势,但CPDP在现实应用中却面临着两个相互关联的挑战[10]:目标项目中带有标签的缺陷数据稀缺,以及源项目和目标项目之间的分布差异。对于新项目、发布周期较短的项目,或是缺乏完整历史记录的项目,目标项目中经过验证的带有缺陷标签的软件模块数量往往极少。手动检查并标记代码以为目标项目构建足够的训练集不仅成本极高,而且耗时漫长。因此,CPDP模型常常因目标数据集规模有限、不平衡以及分布差异较大而难以实现良好的泛化性能。这种跨项目环境下的小样本学习问题,成为了将CPDP研究转化为可靠、具备工业级质量的保障工具的重要瓶颈。此前的CPDP研究也表明,这些问题并非仅仅可以通过解决类别不平衡来解决。早期的跨公司研究强调了项目间数据的可转移性和训练数据的相关性[3]。CLAMI方法证明了即便没有明确的target标签,也能通过指标和实例筛选来解决标签稀缺和跨项目不匹配的问题[4]。Limsettho等人进一步指出,类别分布估计和过采样有助于CPDP,但性能仍然取决于迁移数据与目标环境的匹配程度[5]。这些发现促使人们提出ExDA,作为一种兼顾数据稀缺性和分布差异的增强方法,而非单纯针对类别不平衡的技术。在刚刚启动或快速发展中的软件项目中,由于标注成本高、历史缺陷记录有限,或是受到项目特定限制,从目标项目中收集足够的带有标签的缺陷数据——再加上循环复杂度、代码耦合度或代码行数等指标——往往并不现实。目标项目中这类带有标签的缺陷数据极度稀缺,严重影响了跨项目缺陷预测模型的泛化能力。传统的数据增强和重采样技术,包括SMOTE[11]及其变体,往往忽视了不同项目中高重要性软件指标的可追溯性和一致性,从而导致生成的样本可能扭曲重要的特征关系,或引入与目标项目特征不符的误导性模式。此外,对所有特征维度统一应用增强方法,还可能降低模型的可信度和透明度,而这在关乎软件质量安全的场景中至关重要。因此,尤其是在目标数据有限的跨项目场景中,迫切需要既高效又具备可追溯性的增强策略,以模拟实际的工程环境。

跨项目环境下的混合特征重要性评估:我们提出了一种加权融合机制,结合统计相关性及基于模型的归因方法,明确识别出高重要性和低重要性的特征,同时特别考虑源项目和目标项目之间特征分布的一致性。

用于领域适配的选择性变分自编码器:我们开发了一种条件变分自编码器,它通过仅调整低重要性特征来生成新样本,同时保留由可解释性得出的高重要性特征锚点,从而使增强后的数据在保持与目标项目特征一致的同时,仍能保留可追溯的缺陷相关指标模式。

CPDP的可解释性增强框架:与黑箱生成器不同,ExDA通过保留的指标锚点和源实例轨迹,为合成样本提供部分可追溯性。在AEEEM、JIRA、NASA和PROMISE等实验中,现有数据大多显示,在多种场景下召回率有所提升,而在F1值、PR-AUC值和G均值方面则表现不一,具体取决于数据集的特征。跨模型比较也表明,在多种配置下,该方法相比原始的小样本设置有所改进,但并非在所有情况下都能如此。本节将从三个方面回顾软件缺陷预测领域的相关研究:基础的CPDP迁移方法、用于不平衡学习的数据增强技术,以及缺陷预测中的可解释性引导方法。在软件缺陷预测领域,由于有缺陷的模块相比无缺陷模块自然更为稀缺,类别不平衡一直是个棘手问题。研究人员针对SDP场景,采用了多种数据层面的方法。在CPDP层面,经典研究表明,迁移的难度主要由项目差异性和标签可用性决定,而不仅仅是缺陷模块与非缺陷模块的比例。Turhan等人[3]分析了跨公司数据与公司内部数据的作用差异,指出分布不匹配是一个核心问题。Nam和Kim的CLAMI方法[4]通过指标和实例筛选,解决了在无标签目标数据集上的缺陷预测问题。Limsettho等人[5]则专门针对CPDP,结合了类别分布估计和过采样技术,并指出数据层面的平衡处理需与跨项目迁移考虑相协调。这些研究为ExDA的提出提供了背景依据。Chawla等人[11]率先提出了合成少数类过采样技术(SMOTE),该技术已在SDP研究中得到广泛应用。在缺陷预测中,SMOTE通过在相邻的有缺陷实例之间进行线性插值,来生成合成少数类样本(有缺陷的模块)。然而,有研究指出,由于软件指标空间中的特征关系往往是非线性的且十分复杂,SMOTE存在数据边缘化问题和潜在的噪声放大问题。为了解决SDP场景中的这些局限性,研究人员探索了多种SMOTE变体。Han等人[12]提出了边界SMOTE,该方法在缺陷预测中专注于在分类错误风险最高的决策边界附近的少数类实例生成样本。在缺陷模块与无缺陷模块的边界往往较为模糊的SDP场景中,这种方法显得尤为有用。He等人[13]提出了自适应合成采样技术(ADASYN),该技术在SDP中通过分析少数类样本的局部分布,能够在更难学习的区域自适应地生成更多样本。这种方法减少了均匀样本生成带来的偏差,提高了处理难以识别的有缺陷模块实例的学习效率。在软件工程领域,Miftahushudur等人[14]在SVM-SMOTE基础上加入了集群一致性机制,利用SVM的支持向量来确定边界样本,然后在这些关键边界点附近生成合成样本。与传统SMOTE中基于距离的邻域选择相比,这种方法为样本生成提供了更有针对性的指导,在SDP中展现出较好前景。Douzas等人[15]提出了KMeans-SMOTE,该技术通过将K均值聚类与SMOTE过采样相结合,首先使用K均值对软件模块进行聚类,然后在以少数类样本为主的簇中选择性应用SMOTE,从而避免在以多数类为主的区域生成噪声样本,提高了缺陷预测中合成实例的质量。Bennin等人[16]专为软件工程数据集开发了MAHAKIL算法,该算法运用遗传算法原理,迭代生成合成样本,同时保持种群多样性和表征质量。除了过采样技术之外,SDP研究人员还探索了将生成技术与数据清洗相结合的混合方法。Wilson[17]最初提出了编辑最近邻(ENN)算法,该算法在SDP中被用来去除被邻居错误分类的多数类样本,从而减少类别重叠。在此基础上,Batista等人[18]将SMOTE与ENN以及Tomek链接相结合,分别形成了SMOTEENN和SMOTETomek。这些混合方法在SDP中得以应用,既能增加少数类的代表性,又能清理特征空间中模糊的区域。SDP领域的其他方法还包括选择性减少多数类实例的欠采样方法。Mani和Zhang[19]提出了近似命中算法,该算法根据少数类实例的最小距离标准来保留多数类样本。尽管这些方法计算效率高,但存在丢失软件项目中可能有价值的多数类样本的风险。近年来,SDP领域出现了更为复杂的采样策略。Feng等人[20]提出了基于复杂度的过采样技术(COSTE),该技术利用复杂性度量标准来指导在软件指标空间中困难区域的样本生成。Douzas和Bacao[21]开发了G-SMOTE,该技术在输入空间的定义几何区域内生成合成样本,为软件缺陷数据提供了更为可控的增强方式。尽管数据增强技术在软件缺陷预测(SDP)中展现出一定潜力,但其可解释性有限,且缺乏语义意识,这些都是明显的缺陷。为此,近期的一些研究开始将可解释人工智能(XAI)技术[22]整合到缺陷预测流程中,以提高透明度,增强开发人员和利益相关者的信任。这些方法旨在让缺陷预测模型的决策逻辑更具可解释性和实用性。诸如LIME[23]和SHAP[24]之类的模型无关可解释性技术被广泛用于为缺陷预测模型提供事后解释。例如,Lee等人[25]通过实验证明了LIME、SHAP和BreakDown等方法在特征贡献度和排序方面可能存在不一致的局部解释结果,这可能会误导开发人员制定纠正措施。同样,Schulte等人[26]研究了在缺陷问题和非缺陷问题预测中使用LIME和SHAP的效果,得出结论认为,尤其是在需要准确预测的场景中,SHAP通常能提供更为合理、歧义更少且与上下文关联度更高的解释。为了解决事后可解释性的局限性并提高可靠性,一些联合学习框架被提出,这些框架同时训练预测器和解释器。Xu等人[27]就提出了一种这样的框架,它通过反馈机制将缺陷预测与解释相结合。该框架将预测器的决策逻辑传递给解释器,并将解释结果作为损失函数中的正则化项,从而不仅提高了预测精度,还提升了局部和全局解释的简洁性与可靠性。反事实解释方法也逐渐受到重视,因为它们能为缺陷预测提供可操作的洞察。Yang等人[28]开发了CfExplainer,这是一种利用反事实推理的即时缺陷预测方法。它通过生成更稳定、更实用的基于规则的解释,弥补了LIME的一些缺陷,比如对不切实际的合成实例的依赖以及局部模型拟合度差的问题,同时还能考虑特征之间的相互作用。另一个有益的方向是,Ding等人[29]提出了一种基于关键特征提取的监督数据增强策略(SDA-KFE),该策略利用可解释的神经网络来识别和重新组合关键特征,以生成新的训练样本。通过调整强相关特征与弱相关特征的比例,该方法实现了模型精度与鲁棒性之间的可调平衡,这对于那些需要部署缺陷预测器的安全关键系统而言至关重要。这一方法展示了可解释性不仅能够阐明模型行为,还能在小样本场景中主动引导数据生成。在小样本CPDP领域,仍存在一些具体的不足之处。首先,像SVM-SMOTE和KMeans-SMOTE这样的增强方法通常对特征一视同仁,而实际上不同项目中的软件指标往往具有不同的预测作用。其次,一些先进的生成方法需要的样本量远远超过现实中CPDP目标项目所能提供的数量。第三,黑箱式的生成过程降低了可追溯性,使得质量保障决策更难以论证其合理性。最后,许多现有方法将数据稀缺性与类别不平衡混为一谈,而CPDP的性能则同时受到标签稀缺、特征偏移和领域不匹配的影响。ExDA旨在通过保留高重要性的候选特征,同时允许在低重要性维度上进行可控变化,从而应对这些相互关联的因素。我们的工作通过提出的可解释性引导数据增强(ExDA)框架来解决这些限制,该框架结合了混合特征重要性估计与专为CPDP挑战设计的选择性变分自编码技术。通过明确保留高重要性的预测特征,同时在不同项目中对不太重要的维度进行变化,ExDA旨在保持可解释性,并使增强后的数据与源项目和目标项目的分布保持一致,尤其是在小样本CPDP场景中,因为目标项目中的每个训练实例都具有很高的信息价值。我们的基线方法包括随机采样、SMOTE系列方法(如SVM-SMOTE [14]和KMeans-SMOTE [31]),以及现代表格生成器,这样就可以在保持CPDP中高重要性指标的可追溯性的同时,将ExDA与类别不平衡和分布偏移的基线方法进行比较。

方法论
所提出的可解释性引导数据增强(ExDA)框架通过保留高重要性的预测特征值,同时生成能够反映源项目和目标项目之间分布差异的合成样本,从而解决了传统数据增强方法在CPDP中的关键局限性。与传统方法对所有特征一视同仁不同,ExDA能够区分项目中高重要性的候选特征和不太重要的特征。

实验
为了验证所提出的可解释性引导数据增强(ExDA)方法在小型样本缺陷预测和面向迁移的评估环境中的有效性、泛化能力和可解释性,我们围绕四个核心研究问题设计了一系列控制实验。本节详细介绍了实验设计,包括数据集准备、基线方法、对比模型、评估指标以及实验设置,以确保结果的可靠性。

研究问题1:与基线方法的性能比较
为了评估ExDA在小型样本CPDP场景中的有效性,我们在AEEEM、JIRA、NASA和PROMISE这四个数据集上,将其性能与9种主流的数据增强和采样方法进行了比较。表4和表5展示了ExDA在六个评估指标上相对于各基线方法的提升百分比。每个单元格都显示了提升百分比,并标注了Wilcoxon符号秩检验(*、??、???)和配对t检验(?、??、???)的显著性标记。

性能讨论
在本研究中,我们提出了ExDA,以解决当前面向迁移的评估环境下缺陷预测中数据稀缺性和缺乏可解释性这两大难题。在四个数据集和多种模型家族上的实验结果喜忧参半,最大的积极变化更多体现在召回率上,而非所有指标同时提升。在本节中,我们将探讨这些观察到的模式、它们对软件质量保证的意义,以及进一步的讨论。

有效性威胁
我们将本研究有效性面临的威胁分为四类:内部威胁、外部威胁、结构威胁和结论威胁。

结论
在本研究中,我们介绍了ExDA,这是一种基于可解释性引导的数据增强框架,旨在提升面向迁移的评估环境中的小型样本缺陷预测能力。通过利用来自统计相关性和基于模型的归因方法得出的特征重要性,ExDA能够有选择地生成合成样本,保留高重要性的预测指标值,同时允许在不太重要的维度上进行可控变化。在四个基准数据集和多种模型上,ExDA均展现了良好的效果。

资金支持
本研究得到了中国国家自然科学基金委员会(NSFC)项目编号62576115的支持;广东省自然科学基金项目编号2026A1515011903和2023A1515012653的支持;广东省教育厅创新群体计划项目编号2020KCXTD014的支持;以及广东省2019年重点学科建设项目的支持。

作者贡献声明
丁永昌:写作——审阅与编辑、软件、资源、概念构思。周海浩:写作——审阅与编辑、原始草稿撰写、可视化、方法论。程云坤:软件、调查、形式分析。李浩生:验证、软件。彭荣:写作——审阅与编辑、监督、资源、资金获取。荆晓媛:写作——审阅与编辑、监督、项目管理、方法论、资金获取。

利益冲突声明
作者声明没有已知的财务利益或个人关系可能影响本文所述的工作。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号