- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于K 最近邻聚类的功能等价的重复代码的检测方法研究-计算机科学与技术专业论文
Classified Index: TP311.5 U.D.C.: 681
Dissertation for the Master Degree in Engineering
RESEARCH ON DETECTION OF FUNCTIONALLY EQUIVALENT CODE FRAGMENTS VIA K NEAREST NEIGHBOR ALGORITHM
Candidate: Kong Dandan
Supervisor: Prof. Su Xiaohong
Academic Degree Applied for: Master of Engineering
Speciality: Computer Science and Technology
Affiliation: School of Computer Science and Technology
Date of Defence: June, 2012
Degree-Conferring-Institution: Harbin Institute of Technology
摘 要
软件的高质量、高可靠性是系统开发和维护工作的一个不可或缺的重要方面, 重复代码(也称为克隆代码)检测则是保证软件的高质量和高可靠性的一项重要 任务。在软件系统中,重复代码的存在使代码量增大,软件系统架构变得比较臃 肿,导致软件系统的维护存在一定的困难。而功能等价的重复代码作为重复代码 的一种,因为涉及到复杂的程序语义分析,目前还缺少有效的检测方法。
针对目前方法存在的不足,本文提出了基于 K-最近邻聚类算法的功能等价的 重复代码的检测方法。本文方法首先对源程序进行词法分析和语法分析分别建立 抽象语法树 AST 和控制依赖图 CDG,并在此基础上进行特定的数据流分析得到函 数语句中变量的定值-使用信息集合,然后利用 K-最近邻聚类方法获取得到功能独 立的易于提取的代码片段,并在识别得到代码片段的输入变量和输出变量的基础 上,对代码片段进行过程提取,将不能编译的代码片段转换为能够编译执行的函 数,接下来为函数的输入变量实现自动随机赋值,最后对函数执行动态测试并根 据输出变量的结果对函数进行分类,由此将代码片段划分到不同的集合中,得到 功能等价的代码片段集合。
本文使用学生在 C 语言课程作业中提交的程序和 Simens 开源代码对基于 K- 最近邻聚类的功能等价的重复代码的检测模型进行了测试,并且与参考文献中的 利用滑动窗口方法获取候选代码片段的方法进行了对比,证明本文中的方法能够 以较低的时间复杂度获取功能内聚的代码片段,然后从获取的代码片段中进一步 检测得到功能等价的重复代码。
关键字:重复代码;功能等价;K-最近邻聚类算法;自动随机赋值;动态测试
Abstract
It is an indispensable important aspect to insure the high quality and high reliability of software in system development and maintenance work. It is an important task to detect code clone to insure the high quality and high reliability of software. The presence of code clone increases the amount of code in software system, and makes the software system architecture more bloated and there existing some difficulties to maintain. Because of functionally equivalent duplicated code involves complicated procedure semantic analysis, this kind of code clone lacks of effective detection method.
For the shortcomings of the current methods, this paper proposes a functionally equivalent duplicated code detection method based on K-nearest neighbor clustering algorithm.Lexical analysis and syntax analysis are done to th
您可能关注的文档
- 基于jpeg2000标准的医学图像压缩存储和传输技术-精密仪器及机械专业论文.docx
- 基于JPEG2000的联合信源信道编码方法的研究-通信与信息系统专业论文.docx
- 基于JPEG2000的联合编码技术研究与实现-软件工程专业论文.docx
- 基于JPEGXR的遥感图像压缩算法典型部分研究和实现-信息与通信工程专业论文.docx
- 基于JPEG2000编码技术和Web的网络图像监控系统的研究-通信与信息系统专业论文.docx
- 基于JPEG2000的数字图像压缩编码器的VLSI实现-电路与系统专业论文.docx
- 基于JPEG图像的数字密写技术研究-通信与信息系统专业论文.docx
- 基于JPEG2000的数字水印技术的分析-通信与信息系统专业论文.docx
- 基于JPEG2000的静态图像压缩的研究-计算机应用技术专业论文.docx
- 基于JPEG图像的隐写分析技术研究与实现-信号与信息处理专业论文.docx
- 2025天津工业大学师资博士后招聘2人笔试题库带答案解析.docx
- 2025四川中冶天工集团西南公司招聘14人备考题库带答案解析.docx
- 2025四川南充市农业科学院第二批引进高层次人才考核招聘2人备考题库带答案解析.docx
- 2025四川德阳绵竹市人力资源和社会保障局绵竹市卫生健康局卫生事业单位考核招聘专业技术人员41人历年.docx
- 2025云南昭通昭阳区政务服务管理局公益性岗位招聘1人备考题库及答案解析(夺冠).docx
- 2025年西安一附院沣东医院招聘笔试题库附答案解析.docx
- 2025山东临沂市纪委监委机关所属事业单位选聘工作人员10人笔试备考试卷带答案解析.docx
- 2025四川成都市新都区妇幼保健院编外专业技术人员招聘8人历年真题题库附答案解析.docx
- 2025年宝鸡三和职业学院招聘笔试题库(82人)最新.docx
- 2025云南昆明市第二人民医院紧急招聘神经(创伤)外科医师1人历年试题汇编含答案解析(必刷).docx
原创力文档


文档评论(0)