Page 288 - 《软件学报》2021年第7期
P. 288

2206                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                 量相同之外,大部分都没有任何对应关系.(2)  不同项目之间由于度量不同,其数据不但分布差别很大,而且特征
                 表示结构也不尽相同,难以映射到相同的空间中进行学习.(3)  对于不同的项目数据集而言,由于开发过程千差
                 万别,其缺陷的分布也各有千秋,难以用朴素的方法定量地衡量度量数值和缺陷分布之间的关系.
                    针对上述问题,本文提出 了一种基于变分自编码器的特征迁移映射方法 T-VAE(transfer-variational
                 autoencoder),可以将源项目与目标项目映射到一个共享的鲁棒隐式特征空间中,模型框架图如图 2 所示.首先,
                 利用变分自编码器       [11] 对源项目和目标项目进行无监督预训练,可以将源项目与目标项目的度量元映射到同一
                 特征空间.同时,由于变分自编码器从隐式空间采样解码引入的随机性,使得隐式的特征空间具有较强的鲁棒
                 性.接着,通过引入最大均值差异约束源项目和目标项目间隐式特征分布的均值参数的距离,不但可以捕获到源
                 项目与目标项目之间的共性特征,还能区分出两者之间的特性差异,分别由隐含层输出的均值向量和方差向量
                 所对应.最后,通过加入判别网络带来的分类损失,可以有效地保证隐式特征空间拥有很好的线性可分能力,即
                 使采用简单的逻辑回归也可以有效地预测出缺陷分布的趋势.此外,多组对比实验也验证了本文所提方法在异
                 构特征跨项目缺陷预测问题上的有效性.
















                       Fig.2    The framework of heterogeneous defect prediction model based on variational autoencoder
                                       图 2   基于变分自编码器的异构缺陷预测模型框架图
                    本文第 1 节介绍异构缺陷预测的相关方法和研究现状.第 2 节介绍本文所需的基础知识,包括变分自编码
                 器和最大均值差异.第 3 节介绍本文构建的基于变分自编码器的异构缺陷预测模型.第 4 节通过对比实验验证
                 了所提模型的有效性.最后总结全文.

                 1    异构缺陷预测相关工作
                    现有的软件缺陷预测模型大多数都基于机器学习方法且集中于项目间软件缺陷预测.然而,对于新的项目
                 而言,其历史缺陷数据是非常稀缺的,并且软件开发方法和语言的更新迭代十分迅速,如果仅只使用同一个项目
                 的历史缺陷数据用于训练,往往很难构建有效且实用的缺陷预测模型以用于软件质量保障过程.研究人员提出
                 了跨项目软件缺陷预测,大多数跨项目缺陷预测方法有一个重要的前提,即它们需要源项目和目标项目具有相
                 同的软件度量,而摆脱了该限制的异构缺陷预测技术近年来引起了大量的研究兴趣.
                    异构缺陷预测是指使用从其他项目收集的异构度量数据来预测目标项目中软件实例的缺陷倾向性.它
                 为缺陷预测提供了一个新的视角.最近,有相关工作提出了几种异构缺陷预测模型                             [10,1214] ,用于预测具有异构
                 度量的项目数据集中的缺陷(即源项目和目标项目具有不同的度量元集合).由于除通用度量外的其他度量可
                 能具有良好的判别能力,Jing 等人         [12] 提出了一种异构缺陷预测方法,该方法利用了统一度量表示和基于典型
                 相关分析的迁移学习技术.通过学习一对投影变换可以最大化源项目和目标项目之间的相关性,使目标项目
                 的数据分布与源项目的数据分布相似.Nam 等人                [10] 提出了另一种用于异构缺陷预测的解决方案.他们首先采
                 用度量选择技术来删除源项目中多余和不相关的度量.然后,根据度量相似度(例如分布或相关性)匹配源项
                 目和目标项目的度量,构建度量标准集,进而预测目标项目中实例的标签.He 等人                            [13] 提出了具有不平衡特征
   283   284   285   286   287   288   289   290   291   292   293