首页> 中文学位 >源代码重复检测系统设计与实现
【6h】

源代码重复检测系统设计与实现

代理获取

目录

文摘

英文文摘

声明

第一章 绪论

1.1 研究背景

1.2 研究现状

1.3 主要工作

1.4 组织结构

第二章 源代码重复检测综述

2.1 产生原因

2.2 重复代码的定义

2.3 方法研究

2.3.1 参数化基本原理

2.3.2 后缀树和参数化后缀树

2.3.3 串的最大匹配

第三章 源代码重复检测系统设计

3.1 系统的整体设计

3.2 输入

3.2.1 多语言输入

3.2.2 大工程的分块输入

3.3 代码解析

3.4 格式化

3.4.1 格式化

3.4.2 参数化

3.5 匹配计算

3.5.1 行匹配的后缀树算法改进

3.5.2 函数匹配

3.6 结果输出

3.6.1 行匹配结果输出

3.6.2 函数匹配结果输出

第四章 实验与分析

4.1 实验环境

4.1.1 实验数据

4.1.2 实验平台

4.2 实验一

4.2.1 输入数据

4.2.2 匹配计算

4.2.3 结果输出

4.3 实验二

4.4 实验三

第五章 总结与展望

5.1 本文工作总结

5.2 未来的展望

参考文献

附录

致谢

个人简历 在学期间发表的学术论文与研究成果

展开▼

摘要

大规模的软件工程使得程序员的开发与维护工作越来越繁琐,这些人很早就开始研究源代码自动分析检测技术,于是诞生了很多优秀的源代码检测工具或者带有源代码分析检测的软件。重复代码检测是源代码分析领域一个重要研究方向。
   重复代码是指两段在结构上或者语句构成上相同或相似的代码。研究表明,在较大规模软件系统中,基本上存在5%-10%重复代码或克隆代码。程序中的重复代码的危害是显然的,但是软件开发中却没有有效的方法来控制它,只能凭着系统设计人员的经验或者程序员的觉悟来手工消除它。当系统规模较小时,可以通过设计人员阅读代码来发现程序中的重复代码,但是如果系统规模很大,这种方法就难以胜任了。
   人们很早就注意到程序中重复代码的问题,并希望使用自动检测机制来代替手工检测。重复代码的自动检测技术的研究对弥补“人的直觉”的缺陷,对提高重复代码的识别定位速度和准确性以及自动检测工具的开发均具有十分重要意义。
   本文在研究相关算法的基础上,改进了重复源代码检测的多个算法,使得系统可以适应出更多情况,并且降低了计算的时间和空间复杂度,同时又提出了新的“相似函数”的概念,“相似函数”让重复源码检测的结果更有意义。本文将所有的理论改进与创新都应用到源代码重复检测系统的设计中,还会介绍系统在工程上的一些功能设计。
   最后以开源的Linux源代码为实验对象,通过系统实验,证明改进后算法的可行性与优越性和系统计算结果的正确性,以及“相似函数”作为结果输出的合理性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号