基于联邦学习的跨项目软件缺陷预测算法研究.pdf
哈尔滨理工大学电子信息硕士学位论文
基于联邦学习的跨项目软件缺陷预测算法研究
摘要
软件缺陷预测是对软件开发过程中的数据和特征进行分析,以预测软件中
可能存在的缺陷和问题的方法,通过早期发现和修复缺陷,减少后期修复缺陷
的成本。项目内的缺陷预测往往无法收集到足够的标注数据,通常还会受到噪
声的影响。而跨项目缺陷预测中源项目与目标项目之间存在数据分布异构问题。
随着隐私条例与信息安全法规愈发完善,将不同项目的缺陷数据集中在统一节
点,进行明文式的模型训练变得更加困难。联邦学习可以利用多个项目的缺陷
数据实现跨项目缺陷预测,解决软件缺陷预测领域的数据孤岛问题,本论文的
主要工作和创新点包含以下内容。
首先,针对跨项目预测中的数据异构问题,设计了基于联邦原型学习的跨
项目软件缺陷预测算法,利用原型学习生成缺陷数据的原型向量,缓解数据异
构引起的模型漂移问题。采用单边选择(One-SidedSelection,OSS)算法剔除噪声
样本,使用卡方校验算法筛选出最优特征子集。设计了卷积原型网络
(ConvolutionPrototypeNetwork,CPN),CPN网络可以更好地处理增量学习任务
中的异构数据。服务器收集本地原型子集后平均得到全局原型,将其返回给客
户端以正则化本地模型的训练。最后,利用测试向量与本地原型之间的最短欧
氏距离作为分类依据。实验结果证明本方法可以提高异构软件缺陷预测性能。
其次,针对联邦学习中模型参数量较大、通信效率较低的问题,设计了基
于联邦元学习的高效通信软件缺陷预测算法。将轻量化后的MobileViT网络作
为元学习中MAML(ModelAgnosticMetaLearning)算法的元学习器。通过在客
户端的少量样本中学习通用的知识和策略,MobileViT轻量化元学习器只需要
少量样本即可进行学习和推断,元学习器在目标客户端的支持集上仅进行几轮
微调便能达到较好的测试精度。客户端向服务器发送模型更新时使用Laplace
差分隐私进行加密,确保本地数据的隐私安全性。实验结果表明,本方法在跨
项目软件缺陷预测方法的参数量、收敛性以及模型性能方面均具有优势。
关键词跨项目软件缺陷预测;联邦学习;卷积原型网络;MobileViT轻量化元
学习器;Laplace差分隐私
-I-
哈尔滨理工大学电子信息硕士学位论文
ResearchonCrossProjectSoftwareDefect
PredictionAlgorithmBasedonFederatedLearning
Abstract
Softwaredefectpredictionistheanalysisofdataandfeaturesinthesoftware
developmentprocesstopredictpotentialdefectsandissuesinthesoftware.Reduce
thecostofrepairingdefectsinthelaterstagethroughearlydetectionandrepairof
defects.Defectpredictionwithin-projectoftenfailstocollectsufficientlabeleddata
andisoftenaffectedbynoise.However,thereisaproblemofheterogeneousdata
distributionbetweensourceandtargetprojectsincross-projectdef