综述: 算法首先把源代码按照其自身的结构进行分段提取,然后对各个分段进行部分代码变换,再以带权重的编辑距离为相似度量标准对这些符号进行序列聚类,得到相似的程序代码片段,以达到对源程序进行相似功能检测的目的。 本文提取的是源代码中的功能段,也就是功能函数。 定义: 1.序列1和序列2的编辑距离:序列S1经过插入,删除,替代等操作变换成序列S2所需要的最少操作次数 2.S1与S2的签名距离:取某字母在
转载
2023-11-10 16:56:03
192阅读
代码相似度计算框架调研研究现状代码相似度计算是一个已有40年研究历史的问题了。它的应用范围广泛,主要包括代码抄袭检测[3]、软件维护中的相似代码查找等。 Whale[1]于1988年首次提出一个代码相似性检测的通用框架和步骤,将检测过程分为以下两个阶段:代码格式转换 + 相似度确定后来很多检测方法都参考这一框架,并将检测过程细分为四个部分:预处理 -> 中间代码转换 -> 比较单元生成
转载
2023-12-13 00:46:30
113阅读
一.PMD/CPD介绍PMD是一个源代码分析器。它寻找常见的编程缺陷,例如未使用的变量、空的catch块、多余的对象创建等等。支持Java、JavaScript、Salesforce.com Apex、PLSQL、Apache Velocity、XML、XSL。另外,它包含CPD(copy-paste-detector),一个复制粘贴检测器。CPD寻找重复的代码,支持Java、C、C++、C#、G
转载
2023-08-26 12:49:16
1189阅读
本文参考: [1]方磊,武泽慧,魏强.二进制代码相似性检测技术综述[J].计算机科学,2021,48(05):1-8. (信息工程大学数学工程与先进计算国家重点实验室, 国家重点研发课题,北大核心)摘要代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛。根据关注
转载
2023-10-24 23:38:08
10阅读
论文分享《Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection》Xiaojun Xu, Chang Liu, Qian Feng, Heng Yin, Le Song, Dawn Song任务名称:Binary Code Similarity Detection 二进制代码相
俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界。工欲善其事,必先利其器,每一位程序员都有自己私藏的编程必备工具,接下来小编就给大家推荐5款程序员最佳的代码比较工具。一:Beyond Compare推荐:★★★★★Beyond Compare可以很方便地对比出两份源代码文件之间的不同之处,相差的每
转载
2023-12-12 19:06:39
1001阅读
文本在线查重(Online Copy Detection)的实现1 概述1.1 需求给定一段文本,需要返回其和网络开放性数据相比的整体重复率以及具体的重复情况(具体重复的句子/字符串以及重复程度)。1.2 问题分析该问题属于copy-detection领域。由于需要给出查询文本具体重复的句子/字符串以及相应的重复程度,所以我们需要对查询文本进行合理的切分,并需要一一计算出切分后得到的字符串与在线开
转载
2024-06-03 12:41:10
71阅读
代码相似度计算将基于AST和Smith-Waterman算法AST (抽象语法树)AST即Abstract Syntax Trees,是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构。一般的,在源代码的翻译和编译过程中,语法分析器创建出分析树,然后从分析树生成AST。生成AST使用Python中的ast库来生成源代码的AST最简单的例子:import ast
root_no
转载
2023-07-29 23:14:51
455阅读
Google Play,作为全球最大的 Android 应用市场,每天都有无数的新应用上传。在这个过程中,确保新上传的应用不是现有应用的复制版本是至关重要的。这就引出了一个问题:Google Play 是如何检测应用之间的相似性的?本文将详细解释一种可能的方式,但请注意 Google Play 的确切算法是未公开的,这只是基于一般的软件相似性检测方法的推测。账号、IP、设备等必须要独立的问题我就不
转载
2023-09-27 09:58:45
546阅读
在一篇SCI文章中,与其他文章有相同的表达和相似的内容是很常见的。但是与其他文章的重复太多被认为是抄袭。因此,在发表SCI之前,对SCI的复制进行检查是非常重要的。但是,SCI复制结果不能超过多少? 由于绝大多数国际sci期刊对提交的论文基本上都采取了严格的检查步骤,如果重复率高,可能会被拒绝。被cro
转载
2023-07-14 15:33:59
134阅读
前言由于项目需要,需要对某些种子用户进行look-alike,找到相似用户,所以近期对相似向量检索库Faiss进行一定的了解,接下来,结合相关资料,把我对这个库的了解记录在这里,也希望对你有所帮助!一:Faiss简介Faiss全称(Facebook AI Similarity Search)是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向
转载
2023-12-21 02:46:22
101阅读
一、背景与目标我们业务维护了两个代码仓库,两端的代码很多都是一个平台先开发好,几乎直接copy到另一个仓库。于是产生了一个技术需求,实现这两个仓库代码复用。在技术预研阶段,需要统计早先copy的代码文件有多少,提前预估双端代码的大概可复用文件比例。早先我是利用Beyond Compare 手动遍历文件,依据“肉眼”去对比的,花了大概一天的时间,而且估计的数据比较粗略。考虑到这个工作以后还会碰到,而
转载
2024-01-25 20:23:54
263阅读
在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分 类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。 为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, …
转载
2024-05-04 14:06:56
204阅读
计算图像相似度的算法有哪些SIM=StructuralSIMilarity(结构相似性),这是一种用来评测图像质量的一种方法。由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像结构信息的相似性就可以用来作为一种检测图像质量的好坏.首先结构信息不应该受到照明的影响,因此在计算结构信息时需要去掉亮度信息,即需要减掉图像的均值;其次结构信息不应该受到图像对比度的影响,因此计算结构信息时需要归一化
转载
2024-01-02 14:52:57
87阅读
摘要:现行的论文检测系统,只针对文字部分进行判定,无法判断论文中所包含的代码的独创性。理工科学生的毕业论文,通常包含的大量代码。因现行系统对代码默视为原创,而最终影响了对论文整体抄袭比例的判定,使准确性大打折扣。文章尝试探讨在现行的检测系统中,添加一个针对代码检测判定的模块,提高对理工科学生毕业论文抄袭判定的准确性。关键词:论文;抄袭;检测;代码;判定中图分类号:TP311文献标识码:A文章编号:
转载
2024-07-20 08:16:22
144阅读
摘要:二进制分析技术通常被用来对应用进行安全审计、漏洞检测等,通过分析学术界近20年发表的上百篇学术论文来分析二进制代码相似度比较都有采用了哪些具体技术,二进制代码相似度比较的技术挑战是什么,后续的研究方向是什么,希望此文能给做这方面技术研究人做参考。作者:安全技术猿 。在对二进制应用程序进行安全分析过程中,二进制代码相似度比较技术是重要的技术手段之一,基于此技术,可以实现对恶意代码极其变种的追踪
摘要:代码抄袭现象非常普遍,在C语言课程作业中表现尤其严重,代码抄袭检测给教师带来了繁重的工作负担,降低了教学质量.如何利用计算机自动地,准确地检测代码抄袭是亟待解决的问题. 分析大量C语言课程作业源代码内部逻辑结构,提出基于结构树的代码结构比较算法,并以此为数据源对算法进行了实验验证,发现结构相似的代码之间抄袭概率较大. 研究C语言初学者常用的代码抄袭方式,发现最常用的有四种:添加,删除,修改注
转载
2024-01-20 06:44:42
57阅读
两幅图像的特征相似性对比图像特征相似性SSIMSSIM特征相似性检验 图像特征相似性通过PSNR、SSIM以及图像特征对两幅图像进行相似性比较,下面把比较的代码和函数输出搬上来以供参考。SSIMSSIM评估流程如下:对于输入两副图像,首先计算亮度评价并进行比对,得到第一个相似性对比,在此基础上减去亮度评价影响,计算对比度评价,得到对比度对比,再用上步结果除掉对比度评价进行结构评价,得到结构对比,
转载
2024-01-27 19:55:13
78阅读
在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。本文目录:1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5. 标准化欧氏距离6. 马氏距离7. 夹角余弦8.
前言本文的设计思想以及算法的使用都是基于以下两篇文章。《Winnowing: Local Algorithms for Document Fingerprinting》《程序代码相似度度量算法研究_邓爱萍》我在邓爱萍的文章挑选了一种算法,最后实验了相似度的计算问题。算法的思路《Winnowing: Local Algorithms for Document Fingerprinting》在这篇文章
转载
2023-12-01 20:02:30
47阅读