首页> 中文学位 >代码坏味检测方法研究及重构分析
【6h】

代码坏味检测方法研究及重构分析

代理获取

目录

封面

中文摘要

英文摘要

目录

第1章 绪 论

1.1 课题来源

1.2 课题的目的和意义

1.3 坏味检测及重构在国内外的研究现状及分析

1.4 问题描述及难点分析

1.5 主要研究内容

第2章 类间过度耦合坏味检测方法研究和重构分析

2.1 引言

2.2 坏味现象分析

2.3 类间过度耦合坏味分析

2.4 坏味检测方法和重构分析

2.5 实验结果和分析

2.6 本章小结

第3章 类设计内聚性相关坏味检测方法研究和重构分析

3.1 引言

3.2 距离度量理论

3.3 基于权重距离度量的依恋情结坏味检测方法及重构分析

3.4 基于 K 近邻聚类的发散式变坏代码坏味的检测方法及重构分析

3.5本章小结

第4章 过大的类坏味检测方法研究和重构分析

4.1 引言

4.2相关研究

4.3 类长度分布规律理论

4.4过大的类坏味检测方法

4.5 过大的类坏味重构

4.6 实验结果与分析

4.7 本章小结

第5章 基于重构获益的代码重构评估方法研究

5.1 引言

5.2 重构获益概念

5.3 基于重构获益的重构评估方法

5.4 实验结果与分析

5.5 本章小结

结论

参考文献

攻读博士学位期间发表的论文及其它成果

声明

致谢

个人简历

展开▼

摘要

代码坏味是指代码中存在的一种不良现象。代码坏味会降低程序的设计质量,使得程序难于理解、修改和重用。因此需要对代码坏味进行检测。代码坏味检测的结果有助于程序设计质量的评价,同时也是对代码坏味进行修改的必要基础。在检测到代码坏味后,对其进行重构,在保证程序可观察行为不变的前提下,去除代码坏味,提高程序的可理解性和可扩展性,进而提高程序的整体设计质量。
  本文针对类间过度耦合坏味、类设计内聚性相关坏味、过大的类坏味,提取坏味的特征,将坏味特征转化为度量值,进而根据度量值的计算结果判断程序中是否存在坏味,完成坏味的检测研究。针对检测出的坏味结果进行重构分析,并且最终实现对重构收益进行评估。经过坏味检测和重构分析的研究工作,分析坏味情况并对坏味进行消除,最终达到提高程序设计质量的目的。
  对于现有程序中类间过度耦合、继承关系混乱的不良现象,将其命名为类间过度耦合(Classes Over-Couple,简称COC)。这种类间过度耦合代码坏味能够准确表达代码中存在的类间过度耦合、继承关系混乱的坏味现象,基于实体依赖关系计算的坏味检测工具COC Detector,能够完成COC坏味的检测工作。通过面向对象设计质量评估模型(Quality Model of Object Oriented Design,简称QMOOD)进行计算和分析,基于实体依赖关系计算的坏味检测方法和重构分析,能够提高程序的可理解性和可扩展性,有效改善程序的质量。
  对类设计中由于类内内聚性低导致的代码坏味进行分析和研究,提出了基于距离度量和聚类分析的代码坏味检测方法,该方法能够对依恋情结和发散式变化等坏味进行检测,并通过重构分析验证其检测结果。针对依恋情节等类内内聚性低、类间耦合性高引发的坏味,基于原有检测方法没有考虑多次调用关系导致检测准确率低的现象,采用基于权重的距离度量方法进行坏味检测的研究。提出基于权重距离度量的坏味检测方法,对检测出的坏味进行合理有效的重构分析。K近邻聚类方法的划分结果,既可以判断是否存在坏味,也能做为重构的依据。基于距离度量和K近邻聚类分析的坏味检测方法,能够准确检测到其他检测工具检测不到的发散式变化代码坏味。通过版本比对技术,分析实际版本的重构结果,来验证本文提出的坏味检测结果是否正确。
  对过大的类代码坏味进行检测和重构的分析和研究。首先对开源的面向对象程序中类的规模分布情况进行统计分析,通过实验研究发现类长度的分布规律。然后,在该规律基础上建立了一个类长度分布模型,来完成过大的类等坏味的检测并进行重构分析。在类长度分布模型中,偏离分布规律曲线的分组,被认为含有潜在的代码坏味;然后通过计算并比较分组内类的内聚性度量,能够确定存在过大的类代码坏味;使用凝聚聚类方法,得到坏味检测结果的重构操作。实验结果表明,通过对开源程序使用类长度分布模型进行过大的类坏味检测,本文方法的准确率高于现有使用固定阈值的坏味检测工具 PMD和Checkstyle。类长度分析模型对所检测出的坏味进行重构,经过版本比对技术进行重构分析,验证坏味检测结果。
  针对重构效果无法衡量的问题,研究了重构行为对收益和成本两方面的影响,提出了基于重构获益的重构评估方法。重构评估准则是指选择重构获益更大的重构操作进行执行。基于重构获益的重构评估方法,从重构改善程序质量和重构可能带来未知风险两方面来对重构操作进行分析,对重构操作执行的效果进行量化度量,避免了重构对程序质量带来的负面影响。实验结果表明,通过版本比对技术,当程序中出现了代码坏味并确定了重构操作后,重构获益超过阈值的重构操作确实得到了执行。将重构收益评估方法与现有依赖关系方法、Precondition方法以及行为保持规则方法相比较,基于重构获益的重构评估方法考虑更全面,评估更准确。
  综上,本文命名了类间过度耦合代码坏味,提出了权重距离度量、类长度分布规律、重构获益分析等方法,采用实体依赖关系计算、聚类分析算法、曲线拟合算法等技术,提出了代码坏味检测方法并进行了重构分析,重构分析结果表明该方法能够检测出代码坏味并进行重构,有效提高了代码坏味检测、坏味重构以及重构效果评估的准确性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号