基于序列挖掘的C克隆代码及相关软件缺陷的检测

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:jiaomoji
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
大量克隆代码所导致的一系列问题已经成为大规模软件开发、维护的主要障碍之一。为了更有效的检测出大型软件中的克隆代码以解决其带来的各种问题,各种克隆代码的自动检测工具应运而生,而它们的检测效果也因应用不同的方法而瑕瑜互见。研究表明克隆代码带来的软件缺陷在众多软件缺陷中占有很大的比重,但目前克隆代码相关缺陷方面的研究刚刚起步。本文首先对已有的基于频繁子序列挖掘的克隆代码检测模型进行了如下改进:改进其头文件预处理和词法分析,提高了该模型的运行效率;统一该模型程序语句的分行方式,限定克隆代码碎片和合并范围,改进碎片“合并-删除”策略,并提出计算标识符冲突率删除误检的方法,弥补了该模型漏检、误检等检测结果不准确的缺点,提高了该模型的执行效率和准确性,为后续的克隆代码缺陷检测奠定了较好的基础。根据目前克隆代码标识符不一致性缺陷和上下文不一致性缺陷的检测方法,本文提出了基于序列挖掘的C克隆代码及相关软件缺陷检测模型。该模型在改进的克隆代码检测模型基础上,结合克隆代码标识符重命名不一致性概念,提出通过计算标识符未改变率检测两种克隆代码标识符重命名不一致性缺陷的方法;结合克隆代码上下文不一致性的相关概念,提出改进的上下文不一致性过滤规则和条件表达式匹配算法,从而进行克隆代码上下文结构类别不一致性缺陷以及克隆代码上下文条件谓词不一致性缺陷的检测。实验结果表明,本文的基于序列挖掘的C克隆代码及相关软件缺陷检测模型很好地弥补了原克隆检测模型的缺点,提高了模型的执行效率,使得克隆代码检测结果更加准确;并能够较准确地检测并直观地定位出克隆代码中的相关缺陷。
其他文献
自上世纪50年代世界上第一台计算机问世以来,尤其是最近几十年随着互联网技术的飞速发展,英特网上来自全球领域的数据呈现指数型的增长。我们的日常生活也早已和这些海量的数
在信息化进程中企业建立了大量的信息系统,由于历史及技术原因这些信息系统形成一个个“信息孤岛”,信息资源整合显得尤为重要,其中的访问控制问题也不容忽视。本文的研究主
智能穿戴设备在养老医疗、电子健康方面正经历着全面多样化的发展,以无线体域网为技术基础的产品层出不穷,这将为未来的医疗健康开拓全新的方式。与此同时,体域网中存在的节点空
本文从电信推出全新客户品牌“我的e家”业务入手,提出了将Mondrian+JPivot应用到电信专题领域的解决方案,详细的介绍了“我的e家”专题分析系统的分析、设计以及实现过程,通过
本文主要研究了基于离群点挖掘的入侵检测方法,首先介绍了各种类型的离群点检测算法,重点分析了基于距离的算法和基于密度的算法的优缺点,从而引入了引力思想,并将其与本文改
20世纪是科学技术和人类文明取得空前发展的辉煌年代。以计算机为核心的现代信息处理和以数字化通信为特征的现代信息传输正在紧密地结合起来,将人类带入到未来崭新的信息时
全球定位系统(GPS,Global Position System)是新一代的精密卫星定位系统。面对当前定位导航产品广阔的市场以及应用前景,研究GPS定位系统具有很大的现实及长远意义。另外,研
在图像和视频中添加字幕、图标或其它标签有助于人们对于图像和视频的理解,是图像和视频处理的基本操作之一,在影视播放、远程教学、医学图像处理、数字摄影、版权保护以及互
随着互联网技术的不断发展,Web服务作为一种新兴的Web应用模式,近年来得到快速发展与应用,Web服务数量逐渐增多。同时由于用户对服务功能与服务质量(Quality of Service, QoS
图像信息形象生动,被人类广泛应用。随着网络技术的迅猛发展,图像信息可以快速方便地在互联网上传播。但由于网络的不安全性,这些信息在传输过程中可能丢失或被破坏,不法分子