计算机工程

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

国内刊号:31-1289/TP

国际刊号:1000-3428

计算机工程杂志2022年第7期:混合特征选择和集成学习驱动的代码异味检测

发布日期:

作者:艾成豪, 高建华, 黄子杰

单位:1. 上海师范大学 计算机科学与技术系, 上海 200234;2. 华东理工大学 计算机科学与工程系, 上海 200237

关键词:代码异味,特征选择,集成学习,权重融合,Stacking模型

基金:国家自然科学基金(61672355)。

代码异味是违反基本设计原理或编码规范的软件特征,源代码中若存在代码异味将提高其维护的成本和难度。在代码异味检测方法中,机器学习相较其他方法能够取得更好的性能表现。针对使用大量特征进行训练可能会引起“维度灾难”以及单一模型泛化性能不佳的问题,提出一种混合特征选择和集成学习驱动的代码异味检测方法。通过ReliefF、XGBoost特征重要性和Pearson相关系数计算出所有特征的权重并进行融合,删除融合后权重值较低的无关特征,以得到特征子集。构建具有两层结构的Stacking集成学习模型,第一层的基分类器由3种不同的树模型构成,第二层以逻辑回归作为元分类器,两层结构的集成学习模型能够结合多样化模型的优点来增强泛化性能。将特征子集输入Stacking集成学习模型,从而完成代码异味分类与检测任务。实验结果表明,该方法能够减少特征维度,与Stacking集成学习模型第一层中的最优基分类器相比,其在F-measure和G-mean指标上最高分别提升1.46%和0.87%。

来源:2022年第7期

《计算机工程》期刊编辑部

查看计算机工程杂志2022年第7期

联系我们

  • 地址:上海市嘉定区澄浏公路63号
  • 电话:(021) 67092217
  • E-mail:ecice06@ecict.com.cn

咨询工作人员