- 1、本文档共129页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码坏味检测方法研究及重构分析-计算机应用技术专业论文
Classified Index: TP311.5 U.D.C: 681.3
Dissertation for the Doctoral Degree in Engineering
RESEARCH ON CODE SMELLS DETECTION APPROACH AND REFACTORING ANALYSIS
Candidate: Jiang Dexun
Supervisor: Prof.Ma Peijun
Academic Degree Applied for: Doctor of Engineering
Speciality: Computer Application Technology
Affiliation: School of Computer Science and Technology
Date of Defence: December, 2014
Degree-Conferring-Institution: Harbin Institute of Technology
摘
摘 要
哈尔滨工业大学工学博士学位论文
哈尔滨工业大学工学博士学位论文
-
- I -
-
- PAGE VIII -
摘 要
代码坏味是指代码中存在的一种不良现象。代码坏味会降低程序的设计质 量,使得程序难于理解、修改和重用。因此需要对代码坏味进行检测。代码坏 味检测的结果有助于程序设计质量的评价,同时也是对代码坏味进行修改的必 要基础。在检测到代码坏味后,对其进行重构,在保证程序可观察行为不变的 前提下,去除代码坏味,提高程序的可理解性和可扩展性,进而提高程序的整 体设计质量。
本文针对类间过度耦合坏味、类设计内聚性相关坏味、过大的类坏味,提 取坏味的特征,将坏味特征转化为度量值,进而根据度量值的计算结果判断程 序中是否存在坏味,完成坏味的检测研究。针对检测出的坏味结果进行重构分 析,并且最终实现对重构收益进行评估。经过坏味检测和重构分析的研究工作, 分析坏味情况并对坏味进行消除,最终达到提高程序设计质量的目的。
对于现有程序中类间过度耦合、继承关系混乱的不良现象,将其命名为类 间过度耦合(Classes Over-Couple,简称 COC)。这种类间过度耦合代码坏味能 够准确表达代码中存在的类间过度耦合、继承关系混乱的坏味现象,基于实体 依赖关系计算的坏味检测工具 COC Detector,能够完成 COC 坏味的检测工作。 通过面向对象设计质量评估模型(Quality Model of Object Oriented Design,简 称 QMOOD)进行计算和分析,基于实体依赖关系计算的坏味检测方法和重构 分析,能够提高程序的可理解性和可扩展性,有效改善程序的质量。
对类设计中由于类内内聚性低导致的代码坏味进行分析和研究,提出了基 于距离度量和聚类分析的代码坏味检测方法,该方法能够对依恋情结和发散式 变化等坏味进行检测,并通过重构分析验证其检测结果。针对依恋情节等类内 内聚性低、类间耦合性高引发的坏味,基于原有检测方法没有考虑多次调用关 系导致检测准确率低的现象,采用基于权重的距离度量方法进行坏味检测的研 究。提出基于权重距离度量的坏味检测方法,对检测出的坏味进行合理有效的 重构分析。K 近邻聚类方法的划分结果,既可以判断是否存在坏味,也能做为 重构的依据。基于距离度量和 K 近邻聚类分析的坏味检测方法,能够准确检测 到其他检测工具检测不到的发散式变化代码坏味。通过版本比对技术,分析实 际版本的重构结果,来验证本文提出的坏味检测结果是否正确。
对过大的类代码坏味进行检测和重构的分析和研究。首先对开源的面向对
象程序中类的规模分布情况进行统计分析,通过实验研究发现类长度的分布规
律。然后,在该规律基础上建立了一个类长度分布模型,来完成过大的类等坏 味的检测并进行重构分析。在类长度分布模型中,偏离分布规律曲线的分组, 被认为含有潜在的代码坏味;然后通过计算并比较分组内类的内聚性度量,能 够确定存在过大的类代码坏味;使用凝聚聚类方法,得到坏味检测结果的重构 操作。实验结果表明,通过对开源程序使用类长度分布模型进行过大的类坏味 检测,本文方法的准确率高于现有 使用固定阈值的坏味检测工具 PMD 和 Checkstyle。类长度分析模型对所检测出的坏味进行重构,经过版本比对技术进 行重构分析,验证坏味检测结果。
针对重构效果无法衡量的问题,研究了重构行为对收益和成本两方面的影 响,提出了基于重构获益的重构评估方法。重构评估准则是指选择重构获益更 大的重构操作进行执行。基于重构获益的重构评估方法,从重构改善程序质量 和重构可能带来未知风险两方面来对重构操作进行分析,对重构操作执行的效 果进行量化度量,避免了重构对程序质
您可能关注的文档
- 18 19世纪西方着作中中国形象的转变.docx
- 16世纪的伦敦精英阶层研究.docx
- 18FFDG PETCT显像在早期诊断鼻咽癌放疗后复发中的应用价值.docx
- 18FFDG PETCT对淋巴瘤疗效评估的应用价值.docx
- 18FFDG PETCT联合EBVDNA在诊断鼻咽癌复发中的研究.docx
- 18FFDG和18FFLT PETCT在肺结节诊断中的对比研究.docx
- 18FFDGPETCT与99mTcMDP骨显像诊断肿瘤骨转移Meta分析.docx
- 18FFDG显像 CT及肿瘤标志物测定等检查对肺癌单发骨转移的诊断及患者预后的临床分析.docx
- 18FFES的合成及其在乳腺癌细胞的示踪作用研究.docx
- 18GHzGHz小功率校准装置研制.docx
文档评论(0)