利用软件演化历史识别并推荐重构克隆

发布时间:2021-03-30 19:05
  针对克隆代码在软件中存在的复杂性越来越高,仅靠检测出这些克隆代码并不能降低软件维护成本。因此基于克隆检测的结果,研究者们又开展了克隆管理方面的研究。为了有效管理克隆代码,重构逐渐成为人们关注的一个焦点。重构与软件的质量,如可维护性、稳定性、健壮性都有着密切的联系,经过重构的克隆代码往往比未经过重构的克隆代码具有更高的质量,所以重构对于软件质量保证有着重要的理论意义和应用价值。重构软件系统中所有克隆代码是不切实际的,也不是所有克隆代码都需要重构。盲目地重构可能会影响到软件中其他有益的代码,导致软件质量下降,因此,在对克隆代码进行有效维护之前识别出适合重构的克隆代码则变得尤为关键。现有方法在克隆代码重构的识别和推荐上存在着一定的局限性,亟需一种新的、有效的方法对重构的克隆代码进行识别和推荐。本文以”识别和推荐重构克隆”为切入点,为软件开发与维护人员提供有价值的参考信息。具体工作如下:1.克隆代码演化历史信息需要从克隆检测、克隆映射、克隆家系以及维护提交日志四个方面进行提取。首先使用NiCad检测工具获取软件中克隆代码检测结果;其次使用一种基于词频向量计算、克隆位置距离关系和克隆特征相结合的... 

【文章来源】:内蒙古师范大学内蒙古自治区

【文章页数】:62 页

【学位级别】:硕士

【部分图文】:

利用软件演化历史识别并推荐重构克隆


部分检测结果

检测结果,映射关系


图 3-3 部分检测结果3.1.2 克隆映射对软件版本间的克隆代码建立映射是追踪克隆的核心技术,计算出版本间克隆代码的相似关系以及找出相似的最大克隆实例是克隆映射需要解决的关键问题。本文采用一种基于词频向量计算、克隆位置距离关系和克隆特征相结合的分层映射方法[44]:①克隆群之间的相似度由词频统计的向量空间计算,根据阈值的结果确定候选克隆群中具有映射关系的克隆群。②匹配克隆群特征,其特征有开始行、结束行、代码行数以及克隆群所处的文件名。③通过匹配克隆群特征确定克隆群的映射关系。具体算法如表3-1所示。

演化模式,模式描述


克隆群演化模式

【参考文献】:
期刊论文
[1]基于决策树推荐克隆重构的方法[J]. 折蓉蓉,张丽萍,侯敏,闫盛.  计算机应用. 2018(07)
[2]基于图模型的克隆代码演化痕迹构建及模式识别[J]. 葛广帅,刘东升,张丽萍,侯敏.  计算机工程. 2017(05)
[3]基于贝叶斯网络预测克隆代码质量[J]. 刘冬瑞,刘东升,张丽萍,侯敏,王春晖.  计算机科学. 2017(04)
[4]克隆代码有害性预测中的特征选择模型[J]. 王欢,张丽萍,闫盛,刘东升.  计算机应用. 2017(04)
[5]基于软件代码演化信息的克隆谱系提取方法[J]. 陈桌,张丽萍,王春晖.  计算机应用. 2016(12)
[6]基于改进向量空间模型的克隆群映射方法[J]. 陈桌,张丽萍,王欢,张久杰,王春晖.  计算机应用. 2016(07)
[7]基于版本间克隆映射的演化模式识别及谱系构建[J]. 张久杰,翟晔,王春晖,张丽萍,刘东升.  计算机应用. 2016(07)
[8]基于LDA和DBSCAN的软件多版本克隆群映射方法[J]. 葛广帅,刘东升,侯敏.  计算机应用研究. 2017(02)
[9]基于Token编辑距离检测克隆代码[J]. 张久杰,王春晖,张丽萍,侯敏,刘东升.  计算机应用. 2015(12)
[10]基于主题建模技术的克隆群映射方法[J]. 张瑞霞,张丽萍,王春晖,侯敏.  计算机工程与设计. 2015(06)

博士论文
[1]可重构克隆代码的过程提取方法研究[D]. 边奕心.哈尔滨工业大学 2014



本文编号:3109993

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3109993.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户06d05***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com