摘要

本发明公开了一种基于对抗判别的跨软件缺陷预测方法,包括以下步骤:选定源项目与目标项目;将源项目和目标项目中的源代码转换成抽象语法树,提取出节点向量集合;对节点进行编码,将节点向量集合转换成整数向量集合;对源项目中整数向量集合进行处理,用于同时训练出源项目特征提取器和目标项目特征提取器,并提取出源项目和目标项目中的能够迁移的代码语义特征;将源项目能够迁移的代码语义特征输入到逻辑回归分类器中,训练出跨软件缺陷预测模型,将缺陷预测模型应用到目标项目上,进行缺陷预测分类。本发明将对抗判别方法作为强大的领域自适应技术之一,通过最小化源项目映射分布和目标项目映射分布之间的距离,可以解决特征分布差异的问题。