-
题名基于图模型和孤立森林的上帝类检测方法
被引量:1
- 1
-
-
作者
刘弋
吴毅坚
彭鑫
闫亚东
-
机构
复旦大学软件学院
上海市数据科学重点实验室(复旦大学)
-
出处
《软件学报》
EI
CSCD
北大核心
2022年第11期4046-4060,共15页
-
基金
国家重点研发计划(2016YFB1000801)。
-
文摘
上帝类(God class)是指同时包含多种任务职责的类,其常见特征是包含大量的属性与方法,并且与系统中的其他类有多种依赖关系.上帝类是一种典型的代码坏味,对软件的开发维护产生负面影响.近年来,许多研究都致力于发现和重构上帝类,但是现有方法识别上帝类的能力不强,检测精确率不高.提出了一种基于图模型和孤立森林的上帝类检测方法,主要分为两个阶段:图结构信息分析阶段和类内度量评估阶段.在图结构信息分析阶段,建立类间的方法调用图和类内结构图,采用孤立森林算法缩小上帝类的检测范围;在类内度量评估阶段,考虑项目的规模和架构带来的影响,将项目中上帝类相关度量指标的平均值作为基准,设计实验确定比例因子,并以平均值和比例因子的乘积作为阈值,筛选得到上帝类的检测结果.在代码坏味标准数据集上的实验结果表明:与现有的上帝类检测方法相比,该方法在精确率和F1值上分别提升了25.82个百分点和33.39个百分点,同时保持了较高的召回率.
-
关键词
代码坏味
软件维护
上帝类
孤立森林
-
Keywords
code smell
software maintenance
God class
isolation forest
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于演化和语义特征的上帝类检测方法
- 2
-
-
作者
王继文
吴毅坚
彭鑫
-
机构
复旦大学软件学院
上海市数据科学重点实验室
-
出处
《计算机科学》
CSCD
北大核心
2021年第12期59-66,共8页
-
基金
国家重点研发计划(2017YFB1002000)
上海市科技发展基金项目(18DZ1112100,18DZ1112102)。
-
文摘
随着软件开发迭代速度的加快,开发人员在编码过程中往往由于交付压力等种种原因违反软件设计的基本原则,造成代码坏味,进而影响软件质量。上帝类是最常见的代码坏味之一,指承担了太多职责的类。上帝类违反"高内聚、低耦合"的设计原则,损害软件系统的质量,会影响代码的可理解性和可维护性。因此,文中提出一种新的上帝类检测方法。首先抽取实际项目中方法在演化、语义等维度上的特征;然后对演化、语义特征进行融合,并基于融合后的结果重新聚类,将彼此关系紧密的方法重新划归到新的类簇中;通过分析实际项目中各个类的成员方法在新的聚类结果中的分布情况,计算类的内聚度,从而找出内聚度低的类作为上帝类检测结果。实验表明,所提方法优于目前主流的上帝类检测方法。与基于度量的传统检测方法相比,该方法在查全率、查准率上均提升超过20个百分点;与基于机器学习的检测方法相比,该方法尽管查全率略低,但查准率、F1值均有显著提升。
-
关键词
上帝类
代码坏味
软件演化
内聚度
-
Keywords
God class
Code smell
Software evolution
Cohesion
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名“戈多”是谁——《等待戈多》意象浅析
- 3
-
-
作者
欧炫佑
-
机构
湛江师范学院基础教育学院
-
出处
《菏泽学院学报》
2015年第3期44-47,56,共5页
-
文摘
贝克特的剧作《等待戈多》自问世以来,一直是人们心目中热议的话题。戈多究竟是谁,至今众说纷纭,有人说是上帝,有人说是类上帝,有人说是波卓,更多人认为该剧的重点不在"戈多",而在"等待"。但"等待"的意蕴可以是不确定而多元的,在探索的过程中体味探索的过程或许才是人们最终追求的。
-
关键词
戈多
上帝
类上帝
波卓
-
Keywords
Godot
God
alternative God
Pozzo
-
分类号
I565
[文学—其他各国文学]
-