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