代码克隆扩展分析及管理技术研究

来源 :复旦大学 | 被引量 : 3次 | 上传用户:Gloria_SHU
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
重复或类似的代码片段是软件开发中的常见现象,这种现象称为代码克隆。代码克隆造成的代码重复对软件系统的可理解性、可维护性有着深远影响。虽然近年来研究者已经在克隆检测技术、代码克隆演化分析、代码克隆管理和移除等方面做了许多研究工作,但是在将这些研究应用于软件开发实践时,仍然存在着许多障碍。从现实情况来看,代码克隆的研究成果和大规模的工业领域应用仍然有较大的距离。造成这一现象的关键原因在于:既有的代码克隆研究往往仅局限于软件代码层面,缺乏对软件开发的技术、组织和技术上下文的关注。为此,本文以改善克隆研究对开发人员及其他涉众的价值为研究导向,从代码克隆数据分析的技术手段、代码克隆形成和存续的原因、代码克隆的监控管理三个方面进行了扩展研究。本文首先从准确性、抽象层次和可视化角度扩展了代码克隆分析的技术手段。基于结构克隆概念,本文提出了基于区域密度的结构克隆检测方法。相对于基本的克隆检测,结构克隆检测提高了代码克隆信息的抽象层级,降低了开发人员理解克隆检测数据的难度。然后,本文使用力导引算法对结构克隆数据进行了可视化表示。这种方法能够在平面空间中较清晰地呈现代码元素之间的克隆关系,是既有的代码克隆可视化方式的有效补充。本文还对基于token的克隆检测算法进行了改进,在检测过程中加入了语法结构信息,提高了克隆检测的精度。本文随后使用工业案例,通过经验研究的方法,对代码克隆形成和存续的深层原因进行了研究。本文提出了克隆代码的生命周期模型,奠定了代码克隆形成和存续原因研究的基础。然后,本文对代码克隆原因的三个维度:技术、人员和组织问题进行了阐述,把代码克隆的原因扩展到包含这三个维度的上下文空间中进行调研。我们首先选择了一个大规模工业案例,然后通过代码研究、问卷调查以及开发人员面谈的方式,获得了关于代码克隆形成和存续原因的第一手资料,总结了一系列在克隆避免、克隆移除和克隆管理方面有价值的启示性因素。最后,本文提出了按需定制的代码克隆监控方法CCEvents,将克隆管理的概念从关联编辑、克隆移除等扩展到完整的开发上下文中。本文接着对CCEvents中的两个关键要素,代码克隆监控管理的信息模型和设计监控描述语言CCEML进行了研究。通过采集代码克隆的上下文信息、侦听代码克隆事件、并根据用户的不同需求对代码克隆事件进行通知和告警,构建了和代码提交同步的克隆监控与反馈机制。
其他文献
2.二通流量调节阀为提高流量调节的精度,可将节流阀与差压阀组合起来构成一个具有压力补偿功能的二通流量调节阀,如图3—40a,节流阀前后的压差由差压阀的弹簧所决定,工作中自
佳木斯在2009年末提出加快中小企业信息化建设进程,其中的重点是发展电子商务,然而在发展电子商务的过程中,虽然我们的硬件建设的很好,但是因为企业对网络营销中的礼仪问题重
[目的/意义]随着"一带一路"倡议的深入贯彻实施和中国金融业"走出去"步伐的加快,需要加强作为"一带一路"建设核心区的上海合作组织成员国间的反恐怖融资情报合作,以有效地应
目的:通过针刀四步法治疗腰椎间盘突出症观察疗效;方法:1.针刀治疗2.牵引与手法复住3.药物治疗4.液体刀疗法;结果:总有效率100%;结论:针刀四步法治疗腰椎间盘突出症疗效显著、痛苦少、见
为了确保工程施工过程中屋面工程能创造出诸多亮点,从女儿墙压顶上避雷网安装及要求,屋面排烟道的做法,落水口周边做法等方面阐述了屋面工程细部做法,从而为屋面工程施工积累经验
人类疾病的发生发展是多因素、多环节共同参与的复杂过程,其中涉及多条复杂的信号转导通路.近年来,关于Wnt信号转导通路的研究越来越受到人们的重视.Wnt/β-catenin信号通路
<正>随着我国经济的快速发展,人们生活质量得到显著改善的同时,人均寿命呈现出了明显上升的趋势,但因膳食结构不尽合理,体力活动减少等原因,我国慢性非传染性疾病的发生率、
雅典奥林匹克体育场,北京时间8月28日凌晨2点40分,这是一个值得所有中国人铭记的日子,中国选手刘翔在男子110m跨栏决赛中以12秒91的成绩获得金牌.他创造了中国乃至亚洲的历史
选择合适的评定方法评价阻垢剂的阻垢性能对快速筛选性能优良的反渗透阻垢剂具有十分重要的意义。文章采用电导率法评定了三种反渗透阻垢剂的性能,研究了不同加药浓度下试验