程序中重复代码的自动检测

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:pie1011
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文介绍了一个自动的检测程序中非连续参数化重复代码的方法。所作的工作有两部分,(1)对Baker的参数化匹配算法进行了改进。把匹配单位由单个的字符变为程序中的语句,为了配合匹配单位的改变,重新定义了转换函数。经过改进,算法的空间复杂性得到降低,使之更适于大型程序文本的匹配;(2)提出了程序碎片合并算法,判断通过参数化匹配算法找到的重复代码段之间的可合并性,从而能从程序中识别出非连续的近似重复代码。分析表明:改进的参数化匹配算法的复杂性同程序文件的行数成线性关系;碎片合并算法的复杂性是O(n~2)的,其中n是碎片所在依赖单位的语句个数。
其他文献
随着科学技术的快速发展,很多科学计算和复杂应用系统需要的计算量越来越大,如天气预报、天体物理学和核反应堆的设计等.现有的单个的计算机,即使是大型计算机也很难承担得起
本文通过对现有的入侵检测系统的模型、检测原理进行分析研究,提出了一个基于Aglet移动代理平台的入侵检测系统。该系统主要由中央控制端(MAIDS)和检测端(MAIDS STATION)两部
近年来,计算机网络的迅速发展给全球各个领域的发展都带来了巨大的变化,其中基于IP网络的多媒体通讯技术为人们的远距离交流提供了一个既方便又廉价的途径,结束了传统电信领域中
科学计算可视化技术广泛应用于科学研究、工程技术等领域,是一门有着广泛发展前景的技术。它将科学计算过程中及计算结果的数据转换为几何图形及图像信息在屏幕上显示出来并
在数字化、信息化飞速发展的浪潮中,数字签名作为信息安全领域的关键技术之一,在身份认证、数据完整性、不可否认和匿名性等方面得到了广泛的应用。2005年,基于属性的密码体制被
近些年,在蕴含推理的研究中,由于缺乏完备的背景信息或背景知识,其精度始终无法得到大幅提高。而限定在特定专业领域内,领域背景知识的建模则较容易实现,因此可利用领域背景知识,以
电信管理网(TMN)系统需要管理来自许多厂家的各式各样的设备,不同的电信管理网系统的主要功能是相似的,但不同电信网管理系统中的在实现上方式又是不同的,特别是对于F口管理,这不
面向完井信息的管理与决策系统(CMDS)是运用现代计算机科学和网络通信技术,面向石油完井工程,研究和开发建立在完井分析决策模型及完井数据库基础上的集数据管理与信息决策为
近来,人们发现专注于单独使用遗传算法具有很大的局限性,如果将多目标遗传算法与其他优化技术之间有效结合,即混合多目标遗传算法,能够更加有效、更加灵活的处理实际问题。本
进程检查点机制是在进程正常运行的适当时刻设置检查点,将进程状态保存到稳定存储器中。如果在随后的运行过程中发生故障,从存储器中读出保存的进程状态,将进程卷回恢复,继续运行