软件同源性度量技术的研究.pdfVIP

  • 23
  • 0
  • 约9.42千字
  • 约 49页
  • 2018-08-24 发布于湖北
  • 举报
件同源性度量技术研究 件同源性度量技术研究 Research on Same Source Feature Measuring Research on Same Source Feature Measuring Technology of Software Technology of Software 刘欣,胡嵩 刘欣,胡嵩 北京大学计算机系 北京大学计算机系 主 题 主 题 l 件同源性度量问题研究背景 l当前软件同源性度量技术综述 l基于可执行代码特征定义的同源性度量技术 l同源性度量系统实现 软件同源性度量技术的研究背景 软件同源性度量技术的研究背景 判断某软件是否为另一软件的变体或是否有同一 作者,以以确立嫌疑人与案件之间的关联关系。 件版权保护:对软件著作权的保护不延及开发 件版权保护 软件所用的思想、处理过程、操作方法或者数学 概念等。 当前 件同源性度量技术 当前 件同源性度量技术 源代码级的同源性分析 源代码级的同源性分析 基于文本相似性的: 基于编程风格分析的: 当前 件同源性度量技术 当前 件同源性度量技术 基于文本相似性的源代码级同源性度量技术: 旨在解决文本部分复制(剽窃很少会采用完全拷贝的 方法)问题,即 定代码之间是否存在一个编辑序 列,能将代码段A变换为代码段B。 当前 件同源性度量技术 当前 件同源性度量技术 基于文本相似性的源代码级同源性度量技术: 1. 完整拷贝 2. 更改注释 3. 更改空格,重排版 4. 标识符重命名 5. 代码段更换顺序 6. 改变代码段中语句顺序 7. 改变表达式中的操作符顺序 8. 改变数据类型 9. 增加冗余语句和变量 10.替换控制结构为等价的控制结构 剽窃变换列表 当前 件同源性度量技术 当前 件同源性度量技术 基于文本相似性的源代码级同源性度量技术: 基于子串匹配的方法: H.T. Jankowitz提出。应用快 速子串匹配的Karp-Rabin算法来发现源代码之间的 相似性。基本思路是将从文档中选取一些字符串, 这些字符串被称为 指纹” (fingerprint)。然后 把指纹映射到Hash表中,一个指纹对应一个数字。 最后统计Hash表中相同的指纹数目或者比率,作为 文本相似度依据。 当前 件同源性度量技术 当前 件同源性度量技术 基于子串匹配的方法: 计算文本相似度的决策函数有很多种,最简单的两种如下: 显然,两种定义都保证了S(A,B) = S(B,A)。 当前 件同源性度量技术 当前 件同源性度量技术 基于文本相似性的源代码级同源性度量技术: 参数化匹配(Parameterized Match)方法: 由Brenda S. Baker提出,很好的解决了变量名替换使得完 全匹配失效的问题 当前 件同源性度量技术 当前 件同源性度量技术 基于文本相似性的源代码级同源性度量技术: 词频统计法: 于信息检索技术中的向量空间模型(vector space model)。这类方法首先都要统计每篇文档中各个单词的出 现次数,然后根据单词频度构成文档特征

文档评论(0)

1亿VIP精品文档

相关文档