Just-In-Time (JIT) defect prediction aims to automatically predict whether a commit is defective or not, and has been widely studied in recent years. In general, most studies can be classified into two categories: 1) simple models using traditional machine learning classifiers with hand-crafted features, and 2) complex models using deep learning techniques to automatically extract features from commit contents. Hand-crafted features used by simple models are based on expert knowledge but may not fully represent the semantic meaning of the commits. On the other hand, deep learning-based features used by complex models represent the semantic meaning of commits but may not reflect useful expert knowledge. Simple models and complex models seem complementary to each other to some extent. To utilize the advantages of both simple and complex models, we propose a model fusion framework that adopts both early fusions on the feature level and late fusions on the decision level. We propose SimCom++ by adopting the best early and late fusion strategies. The experimental results show that SimCom++ can significantly outperform the baselines by 5.7--26.9\%. In addition, our experimental results confirm that the simple model and complex model are complementary to each other.
翻译:即时(JIT)缺陷预测旨在自动预测代码提交是否存在缺陷,近年来已得到广泛研究。通常,相关研究可归为两类:1)基于手工特征与传统机器学习分类器的简单模型;2)利用深度学习技术从提交内容中自动提取特征的复杂模型。简单模型采用的手工特征虽源于专家知识,但可能无法充分表达提交的语义信息;而复杂模型基于深度学习的特征虽能表征提交语义,却可能遗漏有价值的专家知识。两类模型在一定程度上具有互补性。为融合简单模型与复杂模型的优势,我们提出了一种同时采用特征级早期融合与决策级晚期融合的模型融合框架,并通过优选早期与晚期融合策略构建了SimCom++模型。实验结果表明,SimCom++的基准性能显著提升5.7%-26.9%,且验证了简单模型与复杂模型确具互补特性。