软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2022年第6期:一种采用对抗学习的跨项目缺陷预测方法

发布日期:

作者:邢颖,钱晓萌,管宇,章世豪,赵梦赐,林婉婷

单位:邢颖,北京邮电大学 人工智能学院, 北京 10087611,钱晓萌,北京邮电大学 现代邮政学院(自动化学院), 北京 10087602,管宇,北京邮电大学 人工智能学院, 北京 10087603,章世豪,北京邮电大学 人工智能学院, 北京 10087604,赵梦赐,北京邮电大学 人工智能学院, 北京 10087605,林婉婷,北京邮电大学 人工智能学院, 北京 10087606

关键词:跨项目缺陷预测;生成式对抗网络;连续词袋模型;抽象语法树

基金:国家自然科学基金(61702044);国家重点研发计划课题(2017YFD0401001)

跨项目缺陷预测(cross-project defect prediction,CPDP)已经成为软件工程数据挖掘领域的一个重要研究方向,它利用其他项目的缺陷代码来建立预测模型,解决了模型构建过程中的数据不足问题.然而源项目和目标项目的代码文件之间存在着数据分布的差异,导致跨项目预测效果不佳.基于生成式对抗网络(generative adversarial network,GAN)中的对抗学习思想,在鉴别器的作用下,通过改变目标项目特征的分布,使其接近于源项目特征的分布,从而提升跨项目缺陷预测的性能.具体来说,提出的抽象连续生成式对抗网络(abstract continuous generative adversarial network,AC-GAN)方法包括数据处理和模型构建两个阶段:(1)首先将源项目和目标项目的代码转换为抽象语法树(abstract syntax tree,AST)的形式,然后以深度优先方式遍历抽象语法树得出节点序列,再使用连续词袋模型(continuous bag-of-words model,CBOW)生成词向量,依据词向量表将节点序列转化为数值向量;(2)处理后的数值向量被送入基于GAN网络结构的模型进行特征提取和数据迁移,然后使用二分类器来判断目标项目代码文件是否有缺陷.AC-GAN方法在15组源-目标项目对上进行了对比实验,实验结果表明了该方法的有效性.关键

来源:2022年第6期

《软件学报》期刊编辑部

查看软件学报杂志2022年第6期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员