结合文本和抽象语法树比对的源代码同源性鉴别系统的研究与设计

结合文本和抽象语法树比对的源代码同源性鉴别系统的研究与设计

论文摘要

随着计算机产业的不断发展,计算机软件所带来的巨大经济效益和社会效率,使得软件的价值越来越被人们所重视。如何保护软件的知识产权,维护软件开发者的合法权益,是值得研究的问题。源代码同源性鉴别技术能够为软件的知识产权提供很好的凭证。所谓源代码同源性鉴别是指比较两个或多个软件系统的源代码,找出它们的相同或相似之处,为软件知识产权提供有力的证据。目前,源代码同源性鉴别技术主要分为两大类,一类是源代码文本层面的鉴别技术,另一类是源代码语法结构层面的鉴别技术。基于文本的鉴别技术,其原理是比较源文件的字符,从而得到源文件的相似度,该技术实现简单,针对低级的代码抄袭手段,检测效果良好,已有很多成熟的工具。基于语法结构的鉴别技术,其思想是将源代码的语法结构抽象为语法树,通过比较语法树得到源文件的相似度,是一种深层次的鉴别技术,能够检测出比较复杂的代码抄袭,但由于其实现复杂,目前可利用工具较少。同源性的综合度量是一个比较新的领域,如何有效合理地综合利用多种同源性鉴别技术的分析结果是值得研究的课题。综合评价的技术分为定量和定性两种,都有各自适用的场景。本文在充分的理论研究和大量的实验基础上,设计了一种源代码同源性鉴别系统。该系统实现了基于文本和基于抽象语法树这两个层次的同源性鉴别,并提出利用多元线性回归分析和层次分析两种综合度量算法,从定量和定性角度,对两种同源性鉴别技术的分析结果进行综合度量,使得鉴别结果更加完善。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 国内外发展状况
  • 1.3 论文结构安排
  • 第二章 源代码同源性鉴别理论与工具
  • 2.1 源代码同源性鉴别技术概述
  • 2.1.1 基于文本的鉴别技术
  • 2.1.2 基于抽象语法树的鉴别技术
  • 2.2 源代码同源性鉴别工具
  • 2.3 综合度量算法
  • 2.3.1 定量分析法
  • 2.3.2 定性分析法
  • 2.4 本章小结
  • 第三章 结合文本和抽象语法树比对的源代码同源性鉴别系统总体设计
  • 3.1 源代码同源性鉴别系统结构图
  • 3.2 主体模块设计
  • 3.2.1 文本比对模块
  • 3.2.2 语法比对模块
  • 3.2.3 数据库存储模块
  • 3.2.4 同源性综合度量模块
  • 3.3 源代码同源性系统综合度量算法
  • 3.3.1 多元线性回归分析
  • 3.3.2 层次分析法
  • 3.4 本章小结
  • 第四章 结合文本和抽象语法树比对的源代码同源性鉴别系统详细设计
  • 4.1 文本比对模块
  • 4.1.1 文本比对模块流程图
  • 4.1.2 文本比对模块实施方案
  • 4.2 语法比对模块
  • 4.2.1 语法比对模块流程图
  • 4.2.2 语法比对模块实施方案
  • 4.3 数据库存储模块
  • 4.4 综合度量模块
  • 4.4.1 线性回归算法设计
  • 4.4.2 层次分析算法设计
  • 4.5 本章小结
  • 第五章 系统实验结果及分析
  • 5.1 实验描述
  • 5.2 结果分析
  • 5.2.1 多元线性回归计算
  • 5.2.2 层次分析法计算
  • 5.3 本章小结
  • 第六章 总结与展望
  • 6.1 论文工作总结
  • 6.2 下一步研究方向
  • 参考文献
  • 致谢
  • 攻读硕士学位期间研究成果
  • 相关论文文献

    标签:;  ;  ;  

    结合文本和抽象语法树比对的源代码同源性鉴别系统的研究与设计
    下载Doc文档

    猜你喜欢