下载此文档

基于K 最近邻的C克隆代码重构方法研究-计算机科学与技术专业论文.docx


文档分类:论文 | 页数:约62页 举报非法文档有奖
1/62
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/62 下载此文档
文档列表 文档介绍
ClassifiedIndex:.:681DissertationfortheMasterDegreeinEngineeringCODECLONERESTRUCTURINGOFCPROGRAMSVIAK-NEARESTNEIGHBORALGORITHMCandidate:FengJianghuiSupervisor::puterScienceandTechnologyAffiliation:puterScienceandTechnologyDateofDefence:June,2011Degree-Conferring-Institution:HarbinInstituteofTechnology摘 要随着计算机软件的快速发展,程序员开始对软件进行复用以减少工作量。但是这种方法的结果是软件系统中充斥着大量的克隆代码。在大部分情况下,克隆代码对系统是有害的,它增加了软件的长度,使软件体系架构变得更加臃肿,维护起来非常困难,降低了系统运行效率,并且导致软件中存在很多的错误。而重构技术的出现,可以有效对克隆代码进行处理,降低其对系统的危害。但是目前对克隆代码重构的研究还不是很多。针对目前的现状,本文提出了一种基于K-最近邻的克隆代码重构方法。该方法首先为C克隆代码构造语法树,并在语法树的基础上建立程序依赖图,然后进行静态分析,从而获得程序的控制流信息和数据流信息。然后,采用基于控制依赖子图的K-最近邻聚类算法对代码进行分析,选取可执行语句作为实体,利用数据属性和控制属性对实体进行归类,分离出便于提取、功能独立的代码片段。接着,调用基于抽象语法树的过程提取算法,求得变量类型,确定要提取的过程的参数类型及个数,解决新过程的返回值问题,最后将代码片段提取为独立的过程,并用过程调用替换其在源代码中的位置。本文使用已有文献中的代码和开源代码对基于K-最近邻的克隆代码重构方法模型进行了测试。实验结果表明,本文提出的重构模型能够有效地提取内聚度低、功能交叉的克隆代码,具有较高的聚类准确性。关键字:重构;K-最近邻;过程提取;putersoftware,,,plex,,,weproposeaclonerestructuringapproachbasedonk-,programdependencegraphisestablishedandstaticanalysisisperformed,,k-nearestneighborclusteringalgorithmbasedoncontroldependencegraphisperformedtoanalyzethecode,

基于K 最近邻的C克隆代码重构方法研究-计算机科学与技术专业论文 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数62
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小313 KB
  • 时间2019-02-01