计算机科学2021,Vol.48Issue(12) :59-66.DOI:10.11896/jsjkx.210100077

基于演化和语义特征的上帝类检测方法

Approach of God Class Detection Based on Evolutionary and Semantic Features

王继文 吴毅坚 彭鑫
计算机科学2021,Vol.48Issue(12) :59-66.DOI:10.11896/jsjkx.210100077

基于演化和语义特征的上帝类检测方法

Approach of God Class Detection Based on Evolutionary and Semantic Features

王继文 1吴毅坚 2彭鑫
扫码查看

作者信息

  • 1. 复旦大学软件学院 上海200438
  • 2. 上海市数据科学重点实验室 上海200438
  • 折叠

摘要

随着软件开发迭代速度的加快,开发人员在编码过程中往往由于交付压力等种种原因违反软件设计的基本原则,造成代码坏味,进而影响软件质量.上帝类是最常见的代码坏味之一,指承担了太多职责的类.上帝类违反"高内聚、低耦合"的设计原则,损害软件系统的质量,会影响代码的可理解性和可维护性.因此,文中提出一种新的上帝类检测方法.首先抽取实际项目中方法在演化、语义等维度上的特征;然后对演化、语义特征进行融合,并基于融合后的结果重新聚类,将彼此关系紧密的方法重新划归到新的类簇中;通过分析实际项目中各个类的成员方法在新的聚类结果中的分布情况,计算类的内聚度,从而找出内聚度低的类作为上帝类检测结果.实验表明,所提方法优于目前主流的上帝类检测方法.与基于度量的传统检测方法相比,该方法在查全率、查准率上均提升超过20个百分点;与基于机器学习的检测方法相比,该方法尽管查全率略低,但查准率、F1值均有显著提升.

关键词

上帝类/代码坏味/软件演化/内聚度

引用本文复制引用

基金项目

国家重点研发计划(2017YFB1002000)

上海市科技发展基金(18DZ1112100)

上海市科技发展基金(18DZ1112102)

出版年

2021
计算机科学
重庆西南信息有限公司(原科技部西南信息中心)

计算机科学

CSTPCDCSCD北大核心
影响因子:0.944
ISSN:1002-137X
参考文献量1
段落导航相关论文