摘要

软件缺陷预测可以帮助开发人员专注于更可能发生错误的代码区域,更高效地确保软件的可靠性。近年来,随着人工智能理论的发展,研究人员试图将深度学习方法引入软件缺陷预测领域,以提高缺陷预测效果。但是,当前将程序代码编码为实数的方法(深度学习为前提)不能有效地估计代码之间的语义距离,从而导致训练效果显着降低。为了解决该问题,提出了一种将程序代码转换为实数向量并使代码之间的语义距离可测量的新编码方法。为了评估这种编码方法的效果,使用Tera-PROMISE软件缺陷样本数据库作为数据集,通过提出的编码方法对数据集进行编码,并将编码后的数据输入到模型进行训练。结果表明,使用这种编码方法可以显著提升软件缺陷预测模型的效果。