基于程序流程图的跨语言代码相似度检测方法研究

来源 :山东科技大学 | 被引量 : 0次 | 上传用户:feierdalong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序代码相似度检测在检测代码抄袭、保护软件知识产权等方面有着重要的应用。程序代码相似度检测技术当前主要有属性计数和结构度量两类方法,结构度量是其中的主流方法,主要包括基于串、基于树和基于图的检测方法。然而,由于不同编程语言之间基本语法等方面的差别,这些检测方法主要面向同种语言代码之间的相似度检测,并不适用于跨语言间的相似度检测。针对上述问题,本文提出了一种基于程序流程图的跨语言代码相似度检测方法CSDCL(Code Similarity Detection Crossing Language),将不同程序语言编写的代码转化成能够表达代码语句之间依赖关系的标准流程图,根据流程图的相似度判定不同语言的代码之间的相似度。首先,为了标准化不同语言代码的流程图,结合传统的程序依赖图(Program Dependency Graph,PDG),提出了一种表达代码流程结构和语句之间依赖关系的程序依赖流程图(Program Dependency Flow Chart,PDFC),定义了代码对应的节点类型,以及表达代码逻辑顺序的顺序执行边和表达语句依赖关系的控制依赖边;在此基础上,将不同编程语言的代码生成的流程图转换为程序依赖流程图;第二,基于VF2子图同构算法,提出了改进的PDFC-VF2子图同构算法,计算程序依赖流程图之间的相似度,缩减PDFC中的节点搜索空间,在实现跨语言的程序代码相似度检测的同时提高了算法检测的效率。为了验证CSDCL方法的检测效果,论文从方法准确率和代码混淆应对效果两个方面进行了实验与分析。实验结果表明,与传统的基于PDG的代码相似度检测方法相比,CSDCL方法在实现跨程序语言代码相似度检测方面具有更高的准确率和检测效率。此外,在处理代码混淆等抄袭手段方面,方法不仅能检测出完全复制原程序、修改注释、更改程序格式和空行、更改变量名、更改数据类型等抄袭手段,对于调整代码语序结构、控制结构等价替换、添加冗余代码等高级抄袭手段也能达到接近9 0%的检测准确率。
其他文献
近年来我国日益增长能源需求促使了煤化工行业的迅速发展,煤气化技术作为一项环保、高效的洁净煤技术而被广泛应用,伴随而来的问题是气化过程产生的煤气化渣越来越多、难以利用。由于不同地区煤质差异的原因,宁东地区的煤气化粗渣只能在地面做高规格防渗处理后填埋堆积。这样的处理方式不仅浪费了土地资源,还大大增加了企业的成本,更重要的是对当地环境及周围居民的健康状况造成了极大的危害。针对以上紧迫的问题,现阶段急需一
多通道信号采集平台作为一种信号采集器,旨在为多目标定位系统实现高速实时的数据采集与传输。平台首先可以实现32路200KHz采样率的AD数据、4路共计十类串口数据的并行采集,数据利用PCIE总线输入平台内部DSP,DSP可对数据进行遍历识别、缓存并封装为符合发送格式的数据包,这一过程保证了与PC间采用以太网通信时,PC端不会接收到不完整的数据包,以太网速率可达133Mbps。因此平台选择的DSP在具
近年来,目标的定位与跟踪技术被广泛应用于军事领域、民用领域,主要功能包括定位导航,定位打卡,野外搜救,位置获取等。然而,科技的高速发展使人们对定位跟踪技术提出了高标准
21世纪以来,中国电影业逐渐向产业化迈进,在国民经济蓬勃发展的态势下,国产电影票房收入屡创新高。伴着移动互联网的普及,网络口碑已成为消费者进行观影决策时的重要考虑因素,但结合市场现象来看,中国电影的生产投资存在较高风险,即便是风评较好的电影也不一定能获得高票房。本文旨在挖掘电影上映首周的口碑与电影票房之间的影响关系,从而对国产电影业票房研究提供依据,并对电影制片方的营销方向提供新思路。以往有很多关
2014年“新农保”与“城居保”并轨统称为城乡居民养老保险,标志着基本养老保险制度实现了“城乡一体化”,“老有所养”真正有了制度保障。但是现行制度下养老金水平是否能够满足城乡居民的基本生活需求,是否能够抵御通货膨胀和物价水平的上涨真正实现“老有所养”,因此对制度保险水平的研究成为必要。本文从养老金替代率角度对山西省城乡居民养老保险水平展开研究。本文在阅读大量文献与资料的基础上,首先,阐述了城乡居民
在人机交互领域中,增强现实已经成为一种新兴的交互环境,它可以支持将虚拟物体叠加到真实的世界中,其虚实融合的特点既给用户带来了真实感、沉浸感,同时也增强了用户对周围真实世界的感知能力,避免了用户因过度沉浸于虚拟世界而脱离现实世界。增强现实技术已经成功地应用于医疗、教育、娱乐、仿真设计等相关领域。目前关于增强现实中的交互研究主要集中在实物交互、三维交互和移动式交互这三方面,关于多用户的协同交互研究则相
本文分别研究了LTE(Long Term Evolution)系统中基带信号部分和数字中频系统的峰均比(Peak-to-Average Power Ratio,PAPR)抑制算法。主要内容包括:(1)提出了一种低复杂度相位因子优化的部分传输序列(Partial Transmit Sequence,PTS)算法,用于抑制LTE系统基带信号的峰均比。针对传统的PTS算法对峰均比的抑制性能有限,且计算复
随着现代信息技术的不断发展,物联网已经进入各个领域,并得到了广泛应用,其中,智能家居物联网也得到了快速发展并走进了千家万户。以IFTTT框架为代表的事件驱动型物联网系统控制框架使得智能家居更加智能、更加个性化,用户通过编写规则就可以简单而高效地构建自己的智能家居系统。但是,这一普遍使用的机制背后存在严峻的安全问题。普通用户通常对其给出规则的行为缺乏完整理解,随着系统规则数目增长,用户的理解与把握能
近年来,我国化工行业快速发展,随之而来造成的环境问题引起全社会的广泛关注。一方面,化工行业由于产业间关联度较高,能够带动相关产业发展,且具有典型资源、资本及技术密集型等特征,在中国国民经济发展中发挥着重要作用。另一方面,伴随能源供应紧张和低成本优势逐渐丧失,具有高耗能、高污染特征的化工行业所代表的传统粗放型经济增长模式增加了环境保护和经济发展间的矛盾,成为当前应该及时解决的关键问题。环境规制能够有
杯芳烃,环糊精,冠醚,葫芦脲和柱芳烃等主体分子是含有重复单元的环状低聚物,又称作大环主体化合物。主体化合物可以根据空腔的大小或电子密度与各种有机/无机客体分子进行主客体络合从而形成主客体复合物。其中柱芳烃是一种新型的大环主体化合物,具有柱状结构和富电子空穴。它比环糊精和葫芦脲类大环化合物更易于化学修饰;和冠醚、杯芳烃相比具有更好的刚性空腔。因此,在过去的几年中,柱芳烃已经呈现出有趣而独特的主客识别