计算机研究与发展2021,Vol.58Issue(1) :178-188.DOI:10.7544/issn1000-1239202120190836

基于排序损失的ECC多标签代码异味检测方法

ECC Multi-Label Code Smell Detection Method Based on Ranking Loss

王继娜 陈军华 高建华
计算机研究与发展2021,Vol.58Issue(1) :178-188.DOI:10.7544/issn1000-1239202120190836

基于排序损失的ECC多标签代码异味检测方法

ECC Multi-Label Code Smell Detection Method Based on Ranking Loss

王继娜 1陈军华 1高建华1
扫码查看

作者信息

  • 1. 上海师范大学计算机科学与技术系 上海200234
  • 折叠

摘要

代码异味是由糟糕的代码或设计问题引起的一种软件特征,严重影响了软件系统的可靠性和可维护性在软件系统中,一段代码元素可能同时受到多种代码异味的影响,使得软件质量明显下降.多标签分类适用该情况,将高共现的多个代码异味置于同一标签组,可以更好地考虑代码异味的相关性,但现有的多标签代码异味检测方法未考虑同一段代码元素中多种代码异味检测顺序的影响对此,提出了一种基于排序损失的集成分类器链(ensemble of classifier chains,ECC )多标签代码异味检测方法,该方法选择随机森林作为基础分类器并采取多次迭代ECC的方式,以排序损失最小化为目标,选择一个较优的标签序列集,优化代码异味检测顺序问题,模拟其生成机理,检测一段代码元素是否同时存在长方法-长参数列表、复杂类一消息链或消息链一过大类这3组代码异味.实验采用9个评价指标,结果表明所提出的检测方法优于现有的多标签代码异味检测方法,F1平均值达97.16%.

关键词

代码异味/随机森林/排序损失/集成分类器链/多标签分类

引用本文复制引用

基金项目

国家自然科学(61672355)

出版年

2021
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
被引量4
参考文献量1
段落导航相关论文