程序代码复制检测中特征串提取技术研究

来源 :内蒙古师范大学 | 被引量 : 0次 | 上传用户:yxdongdong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
复制检测技术在信息时代得到非常广泛的应用,尤其在计算机程序设计方面。复制检测又为两类:一类是形式化语言文本(如:计算机程序代码等)复制检测,另一类是自然语言文本复制检测。程序代码复制检测就是判断一个程序的代码是否抄袭、剽窃或复制于另外一个或多个程序,其核心是代码相似度计算。在计算程序间相似度时,首先需要提取程序段的特征值,即能够代表该程序内容和结构的基本语言单位。然后对提取出的待比较程序的特征值进行比较,根据比较结果判断程序间的相似程度,即计算相似度。在这个过程中,特征值的提取至关重要,特征值的好坏直接影响比较结果的准确性。本文主要是对特征值提取技术的研究。本文首先介绍了有关程序代码相似度检测技术,包括程序代码相似度的定义与检测技术分类,国内外研究发展的现状以及现有的程序代码相似度判别系统的相关介绍。然后对程序代码相似度检测过程中特征值提取技术进行了介绍。在现有的程序代码相似度判别系统中,多是采用的基于字符串比较的方法,首先把待比较程序经过分词转换得到特征字符串,然后再对字符串进行相似度比较。这样的字符串包含程序结构信息少,会影响比较结果的准确性。本文主要研究如何把程序转换为包含更多结构信息的结构串,为下一步比较提供更好的依据。本研究设计的生成结构串的方法主要分三步完成:第一步,制定语言的词法规则和语法规则,为后续对程序源代码的分析转换提供依据;第二步,生成词法分析器和语法分析器;第三步,使用词法分析器和语法分析器对程序源代码进行分析,生成相应的树形结构串。最后,本文通过实例测试,本研究实现了把程序源代码转换为树形结构串,达到了预期的研究目的。
其他文献
作为计算机视觉的一个重要分支,立体匹配是立体视觉中研究最活跃的主题之一,在三维场景重建、移动机器人、对象识别、智能控制、三维测量等领域得到了广泛应用。立体匹配的实质
随着软件系统开发技术的发展,多层次信息管理软件系统开发的重点已经从注重组件类库的进化转移到了关注系统应用架构的设计上来,应用框架的设计更直接地影响到软件系统整体的健
查询问句分析在问答系统中对问句理解起着重要的作用,一般地,查询句分析需要进行分词,词性标注,命名实体识别,关键词提取,查询扩展,句法分析以及查询问句分类等。在查询问句
将语义技术和信息检索相结合,可使信息检索系统以机器可理解的方式在语义层次上进行,从而提高检索的效率。然而,目前绝大部分的数据依然依赖于传统的关系型数据。因此,如何有效地
谁来为死难矿工招本刊特稿●卞君瑜谁来为死难矿工魂卞君瑜来自河南省洛阳市伊川县劳动局的一组数字表明,从1992年至目前为止,该县的小煤矿共发生各种事故30多起,死70人,伤40多人。另据劳动
面向对象编程(Obiect-Oriented Programming,OOP)是一种实现软件模块化和可重用的编程规范,较好地解决对象和数据的封装问题。但是随着编程实践的日益丰富,OOP也表现出缺陷:
首钢矿业公司在企业管理中,注重加大科技含量。狠抓计算机的开发与应用,为企业插上现代化管理的翅膀,管理效能不断提高。加大投入强化硬件建设首钢矿业公司把强化计算机管理看作
随着Internet和Web技术的发展,WWW已经成为一个巨大的信息资源库,然而使用传统的搜索引擎,用户要精确地找到所需信息往往十分困难。Web信息抽取技术正是在这样的背景下出现的
该文概要梳理了晚清时期(1833至1911年)地学翻译史的发展脉络,以历史事件和时间为节点,搜集与整理了这一时期地学翻译活动的作品及相关的人物、出版机构及代表性事件.了解西
随着P2P技术在各个领域的广泛运用,以P2P网络为依托的P2P群发通信算法日益成为影响P2P技术发展的一个重要方面。由于通常使用并发通信时间作为衡量P2P网络中群发通信算法的主