收藏本站
《内蒙古师范大学》 2013年
收藏 | 手机打开
二维码
手机客户端打开本文

基于后缀数组的克隆代码检测研究

史庆庆  
【摘要】:克隆代码是指软件中相同或相似的源代码段,其在软件开发与维护中具有重要的影响。近十年来,克隆代码的检测已成为软件维护中的一项重要研究内容。学者们也相继提出了许多克隆检测方法与技术,也实现了一些优秀的检测工具。然而,随着软件规模不断增大,现有克隆检测技术在时空效率上仍然不高。 本文基于后缀数组这一简单而高效的数据结构,结合Type-1和Type-2函数克隆的句法特征,以重点开展具有低时空复杂度的克隆检测技术的设计研究。首先,根据函数克隆的相似性定义,设计相应的词法分析程序以消除源代码表面上的差异,识别并标记其中的函数或方法,进而转换成标准化的Token串。其次,采用前缀倍增算法构造Token串的后缀数组。然后,根据比较单元为函数这一特征,改进现有的计算最长公共前缀算法,以构造出公共函数前缀数组。接着,设计重复函数子串的查找算法,进而检测出Token串中所有的重复函数子串。最后,结合词法分析阶段的位置信息,以克隆群的形式过滤并反馈软件中的函数克隆。 基于上述研究成果,本文设计并实现了一款与程序设计语言无关的克隆检测工具FCD。本文也利用FCD检测了24款C语言的开源软件,从多个维度深入地分析了这些系统的克隆特点。通过大量的实验结果验证了FCD具有很低的时空复杂度,能快速地地检测大规模软件系统,同时保证了较为理想的误报率与漏报率。
【学位授予单位】:内蒙古师范大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP311.53

手机知网App
【参考文献】
中国期刊全文数据库 前1条
1 于冬琦;吴毅坚;彭鑫;赵文耘;;基于相似性度量的面向对象程序方法级克隆侦测[J];电子学报;2010年S1期
【共引文献】
中国期刊全文数据库 前10条
1 刘兆存;范玮佳;;软件过程中可复用需求分析[J];重庆理工大学学报(自然科学);2012年01期
2 钟金鑫;魏更宇;安靖;杨义先;;恶意代码的符号执行树分析方法[J];重庆大学学报;2012年02期
3 付世敏;;基于综合模型的核电程序理解[J];电脑知识与技术;2013年04期
4 王崑声;詹海潭;经小川;李宁;张刚;;航天嵌入式软件运行时错误静态分析方法[J];北京理工大学学报;2013年02期
5 王丹;孙浩扬;王进;付利华;;基于程序切片的软件交互行为可信性分析模型[J];北京工业大学学报;2013年05期
6 顾卫江;;基于可信软件的测试研究[J];计算机光盘软件与应用;2013年13期
7 沈昌祥;张焕国;王怀民;王戟;赵波;严飞;余发江;张立强;徐明迪;;可信计算的研究与发展[J];中国科学:信息科学;2010年02期
8 吴强;;Web服务的分析、测试与验证[J];软件导刊;2011年07期
9 钟浩;张路;梅宏;;软件库调用规约挖掘[J];软件学报;2011年03期
10 周国富;杜卓敏;;程序代码中隐含数据与控制的Petri网建模技术[J];软件学报;2011年12期
中国博士学位论文全文数据库 前10条
1 崔展齐;若干软件非功能属性相关的设计和实现技术研究[D];南京大学;2011年
2 陶红伟;基于属性的软件可信性度量模型研究[D];华东师范大学;2011年
3 陈晓江;分布式系统软件体系结构建模与开发方法研究[D];西北大学;2010年
4 范文庆;分段符号执行模型及其环境交互问题研究[D];北京邮电大学;2010年
5 陈立前;基于区间线性抽象域的可靠浮点及非凸静态分析[D];国防科学技术大学;2010年
6 梁晓兵;面向二进制程序漏洞挖掘的相关技术研究[D];北京邮电大学;2012年
7 钟金鑫;恶意代码二进制程序行为分析关键技术研究[D];北京邮电大学;2012年
8 赵云山;基于符号分析的静态缺陷检测技术研究[D];北京邮电大学;2012年
9 肖庆;提高静态缺陷检测精度的关键技术研究[D];北京邮电大学;2012年
10 张洪昌;信息物理融合的机电产品数字化设计关键技术研究[D];华中科技大学;2012年
中国硕士学位论文全文数据库 前10条
1 王志兵;软件行为运行时验证研究[D];湖南工业大学;2010年
2 张军宝;基于域描述语言的Java规则引擎实现方法[D];华东理工大学;2011年
3 聂世超;PHP程序静态分析系统的设计与实现[D];吉林大学;2011年
4 原义盈;嵌入式软件堆栈溢出的静态测试方法研究[D];北京交通大学;2011年
5 赵国善;GMDSS模拟器中设备实操评估系统的研究[D];大连海事大学;2011年
6 叶可可;BPEL缺陷测试系统的设计和实现[D];北京邮电大学;2011年
7 姚欣洪;基于线程摘要的C/C++数据竞争检测研究[D];北京邮电大学;2011年
8 崔娟娜;嵌入式环境下代码动态性能分析的研究与实现[D];电子科技大学;2011年
9 王金锭;二进制程序漏洞挖掘技术的研究与工具实现[D];中国科学技术大学;2011年
10 丁保贞;基于动态符号执行的代码分析工具的研究[D];上海交通大学;2012年
【相似文献】
中国期刊全文数据库 前10条
1 陈平;王成耀;;基于AST的程序静态分析工具的研究与实现[J];微计算机信息;2007年24期
2 易昭湘;慕晓冬;赵鹏;张雄美;;基于代码检测的软件故障定位方法[J];计算机工程;2007年12期
3 Patrick Gallucci;崔建海;;Visual Studio 2005的智能感应代码段[J];程序员;2006年07期
4 叶青青;;软件源代码中的代码克隆现象及其检测方法[J];计算机应用与软件;2008年09期
5 苏锦海,贾贵申,汤文;用c语言实现进程之间模块和数据的调用[J];现代计算机;1996年06期
6 李宝通;;计算机病毒的检测[J];农村电工;2006年09期
7 谭东;;根据JAVA语言命名的特征,分析代码段的组织结构[J];黑龙江科技信息;2010年17期
8 王勇才,王辉柏;高级语言在工业控制机上的应用[J];天津纺织工学院学报;1994年03期
9 李莹;网页中多层效果的灵活使用[J];电脑编程技巧与维护;2000年06期
10 叶逵;;对PowerBuilder开发工具中使用嵌入式SQL语句方法的改进[J];华南金融电脑;2009年11期
中国重要会议论文全文数据库 前10条
1 王建东;曾庆凯;;整数漏洞现状研究[A];2011年全国通信安全学术会议论文集[C];2011年
2 孙奇;李宗伯;;代码混淆技术综述[A];2011年全国通信安全学术会议论文集[C];2011年
3 韩颖;高翔;王国仁;于戈;郑怀远;;OQL预处理器代码生成算法的设计[A];第十六届全国数据库学术会议论文集[C];1999年
4 胡小春;陈燕;何潜航;李陶深;;一个Windows进程抓包器的C++实现[A];广西计算机学会2007年年会论文集[C];2007年
5 项凌翔;黄江伟;施青松;陈天洲;;基于DVS的动态节能编译器的设计与实现[A];第三届和谐人机环境联合学术会议(HHME2007)论文集[C];2007年
6 谢浩;张健;;星载SPARC V8嵌入式系统设计[A];2007'中国仪器仪表与测控技术交流大会论文集(二)[C];2007年
7 李冬华;赵学秘;李宗伯;李克洲;;领域内可重构功能单元自动生成方法[A];2006年全国开放式分布与并行计算学术会议论文集(二)[C];2006年
8 江浩;;Xen虚拟客户OS初探[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
9 张跃华;刘莹;张玲玲;石勇;;源代码挖掘在可信软件研究中的应用[A];第四届(2009)中国管理学年会——管理科学与工程分会场论文集[C];2009年
10 张磊;苏卫星;胡琨元;马连博;;基于RFID的猪肉产品安全追溯标签设计[A];第六届全国信息获取与处理学术会议论文集(2)[C];2008年
中国重要报纸全文数据库 前10条
1 周松林;730代码段仍在使用 申购新股宜仔细识别[N];中国证券报;2006年
2 深圳商报记者 钟国斌;深沪交易所备战全流通IPO[N];深圳商报;2006年
3 周松林;上证所固定收益平台启用新代码段[N];中国证券报;2007年
4 本报记者  王璐;IPO临近 上证所启用股票新代码[N];上海证券报;2006年
5 记者  蒋娅娅;境外机构投资者青睐A股[N];解放日报;2006年
6 郑劝;网上发行不收发行手续费[N];经济日报;2007年
7 特约记者  金泉;新股发行准备工作紧锣密鼓[N];南京日报;2006年
8 山东 左仪;混合编程及参数传递的方法[N];电子报;2007年
9 ;中网与黑客较劲儿[N];中国计算机报;2003年
10 成都 万琳;AVR单片机的伪指令[N];电子报;2001年
中国博士学位论文全文数据库 前10条
1 付剑晶;遥感软件知识产权与数字遥感影像版权保护[D];浙江大学;2012年
2 周宏甫;六坐标工具磨床CNC系统的关键技术研究[D];华中理工大学;1996年
3 钱剑飞;基于特征符号的程序理解研究[D];浙江大学;2006年
4 李旭晖;移动Agent描述与仿真中若干问题的研究[D];武汉大学;2003年
5 郭宇;模块化构造软件系统安全性证明的研究[D];中国科学技术大学;2007年
6 黄江伟;DVS技术支持的移动嵌入式系统软件低功耗计算研究[D];浙江大学;2009年
7 陈辉;控制网络节点通信协议栈可重构自组织研究[D];华中科技大学;2011年
8 朱二周;基于CPU/GPU平台的虚拟化技术研究[D];上海交通大学;2012年
9 邱罡;可信系统保护模型研究与设计[D];西安电子科技大学;2010年
10 陈平;代码复用攻击与防御技术研究[D];南京大学;2012年
中国硕士学位论文全文数据库 前10条
1 陈晓斌;基于二进制代码等价变换的代码伪装技术研究[D];解放军信息工程大学;2009年
2 史庆庆;基于后缀数组的克隆代码检测研究[D];内蒙古师范大学;2013年
3 郑东宁;基于代码分割的隐写软件识别技术研究[D];解放军信息工程大学;2011年
4 郑永振;基于核心代码的隐写软件识别技术研究[D];解放军信息工程大学;2012年
5 赵帅;苹果操作系统下应用程序的安全性研究[D];上海交通大学;2012年
6 胡正军;程序代码相似度检测方法研究及应用[D];中南大学;2012年
7 刘国平;中国新一代全球数值天气预报模式切线性伴随模式技术[D];国防科学技术大学;2008年
8 王欣;抄袭C源代码可视化智能检测方法与实现[D];大连理工大学;2011年
9 孙程;基于精益造船的船舶物资代码研究与应用[D];江苏科技大学;2012年
10 韩万军;缓冲区溢出攻击代码检测与防御技术研究[D];解放军信息工程大学;2012年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026