期刊文献+
共找到51篇文章
< 1 2 3 >
每页显示 20 50 100
代码相似性检测技术综述
1
作者 孙祥杰 魏强 +1 位作者 王奕森 杜江 《计算机应用》 CSCD 北大核心 2024年第4期1248-1258,共11页
代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术... 代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术。首先,系统梳理代码相似性检测的近期技术进展,根据目标代码是否开源,将代码相似性检测技术分为源码相似性检测和二进制代码相似性检测,又根据编程语言、指令集的不同进行二次细分;其次,总结每一种技术的思路和研究成果,分析机器学习技术在代码相似性检测领域成功的案例,并讨论现有技术的优势与不足;最后,给出代码相似性检测技术的发展趋势,为相关研究人员提供参考。 展开更多
关键词 二进制代码相似 代码相似 跨语言代码相似 深度学习 代码克隆
下载PDF
一种结合残差卷积注意力机制的二进制代码相似性分析方法
2
作者 周鑫 庞建民 +1 位作者 岳峰 刘光明 《信息工程大学学报》 2024年第6期725-731,共7页
针对跨架构的同源性漏洞检测问题,提出一种跨平台的二进制代码相似性分析方法 CodeMeld。该方法基于双向门控循环单元和自注意力机制实现指令序列信息提取,基于结合残差卷积注意力机制的卷积神经网络(CNN)模型实现邻接矩阵的图结构信息... 针对跨架构的同源性漏洞检测问题,提出一种跨平台的二进制代码相似性分析方法 CodeMeld。该方法基于双向门控循环单元和自注意力机制实现指令序列信息提取,基于结合残差卷积注意力机制的卷积神经网络(CNN)模型实现邻接矩阵的图结构信息提取,通过对二者信息的融合实现函数的向量化表示。在不同架构下多种优化选项编译得到的数据集上进行评估实验。实验结果表明,CodeMeld可以有效捕获指令序列与控制流图结构的特征信息,准确实现跨平台的二进制代码相似性度量,准确率为94.26%,AUC高达0.980 6。 展开更多
关键词 代码相似性分析 跨架构 神经网络 残差卷积
下载PDF
程序代码相似性检测技术在教学中的应用 被引量:5
3
作者 王春晖 程金宏 +1 位作者 孟繁军 刘东升 《计算机教育》 2007年第12X期137-139,119,共4页
本文介绍的程序代码相似性检测技术可以帮助教师从学生作业集中快速找出彼此是否存在抄袭嫌疑,并能够对作业对的相似部分做出标记,给教师提供参考,以减轻教师人工判别的工作负担,从而提高工作效率。
关键词 程序代码相似性检测技术 程序设计类课程 代码相似性检测系统 程序作业抄袭
下载PDF
代码相似性检测技术:研究综述 被引量:23
4
作者 熊浩 晏海华 +3 位作者 郭涛 黄永刚 郝永乐 李舟军 《计算机科学》 CSCD 北大核心 2010年第8期9-14,76,共7页
程序代码的相似性检测是使用一定的检测手段度量程序代码间的相似程度,其对于提升高等教育中计算机课程教学效果和保护软件知识产权都有着重要的意义。介绍了代码相似性检测技术的研究意义和发展历程,阐述了本领域研究过程中的概念模型... 程序代码的相似性检测是使用一定的检测手段度量程序代码间的相似程度,其对于提升高等教育中计算机课程教学效果和保护软件知识产权都有着重要的意义。介绍了代码相似性检测技术的研究意义和发展历程,阐述了本领域研究过程中的概念模型,深入分析了已有的几类代码相似性检测技术,总结了这几类技术各自的特点,同时探讨了一些相关研究,最后归纳了目前研究中的问题并展望了本领域研究的发展趋势。 展开更多
关键词 代码相似 自动检测 概念模型
下载PDF
程序代码相似度度量的研究与实现 被引量:17
5
作者 于海英 《计算机工程》 CAS CSCD 北大核心 2010年第4期45-46,49,共3页
针对程序代码相似度的度量问题,提出一种属性计数和结构度量相结合的方法,通过统计程序源代码的操作符和操作数个数,产生Halstead长度、Halstead词汇和Halstead容量3个程序的特征向量,利用向量夹角的余弦计算属性相似度,采用最长公共子... 针对程序代码相似度的度量问题,提出一种属性计数和结构度量相结合的方法,通过统计程序源代码的操作符和操作数个数,产生Halstead长度、Halstead词汇和Halstead容量3个程序的特征向量,利用向量夹角的余弦计算属性相似度,采用最长公共子序列算法获取结构相似度,从而衡量程序对间的相似程度。实验结果表明,该方法能够有效检测出学生作业中的相似程序代码。 展开更多
关键词 属性计数 结构度量 程序代码相似
下载PDF
程序代码相似度检测方法的设计与实现 被引量:5
6
作者 全上克 杨新锋 《微型电脑应用》 2013年第10期38-41,共4页
程序代码的相似度是剽窃检测的关键技术。通过对现有程序代码相似度度量技术进行研究后,基于属性技术法、结构度量法提出了一种属性计数和结构度量相结合的方法。通过统计程序源代码的操作符和操作数个数以及程序逻辑结构从而产生出一... 程序代码的相似度是剽窃检测的关键技术。通过对现有程序代码相似度度量技术进行研究后,基于属性技术法、结构度量法提出了一种属性计数和结构度量相结合的方法。通过统计程序源代码的操作符和操作数个数以及程序逻辑结构从而产生出一个特征向量,利用向量夹角的余弦计算属性相似度。实验结果表明,该方法能够有效检测出作业中相似的程序代码。 展开更多
关键词 属性计数 结构度量 程序代码相似
下载PDF
一种基于串匹配的程序代码相似性识别方法 被引量:2
7
作者 王春晖 《黑龙江科技信息》 2015年第29期167-,共1页
相同功能的程序代码之间存在较高的相似度,识别出这些相似的代码有助于代码的抄袭检测、软件中克隆代码检测以及代码同源性检测。将程序转换成了一些量化的标识串(Token),然后使用高效的RKR-GST串匹配算法找出每对Token串的所有最长公... 相同功能的程序代码之间存在较高的相似度,识别出这些相似的代码有助于代码的抄袭检测、软件中克隆代码检测以及代码同源性检测。将程序转换成了一些量化的标识串(Token),然后使用高效的RKR-GST串匹配算法找出每对Token串的所有最长公共子串,然后根据公式计算相似度,最后根据相似度的值作为判定相似性的依据。 展开更多
关键词 RKR-GST算法 代码相似 识别方法
下载PDF
基于代码相似度的隐含学生行为模式挖掘
8
作者 徐雅静 李通 刘玉涛 《计算机教育》 2017年第6期90-94,共5页
针对学生在编程中出现的代码拷贝问题,提出用一种改进的分段最长公共子序列匹配算法分析代码相似度,进一步挖掘隐藏在相似代码背后的学生之间合作关系以及行为模式,对于如何了解、干预和避免学生抄袭行为的扩散以及正确评价学生的编程... 针对学生在编程中出现的代码拷贝问题,提出用一种改进的分段最长公共子序列匹配算法分析代码相似度,进一步挖掘隐藏在相似代码背后的学生之间合作关系以及行为模式,对于如何了解、干预和避免学生抄袭行为的扩散以及正确评价学生的编程能力进行积极有益的探索。 展开更多
关键词 代码相似 行为模式挖掘 合作关系挖掘 LCS(大于3个 小于8个)
下载PDF
基于LCS和GST算法的代码相似度分析 被引量:1
9
作者 金恩海 殷立曜 王阳睿 《电子技术与软件工程》 2016年第3期180-180,共1页
从上世纪70年代开始,就有大批的学者进行了代码相似度的研究。通过研究前任的方法,我们提出了通过最长公共子序列和贪婪串匹配的方法进行计算预处理之后的代码的相似度,预处理剔除了注释和预编译指令,并把代码转换为单词串,从而保留了... 从上世纪70年代开始,就有大批的学者进行了代码相似度的研究。通过研究前任的方法,我们提出了通过最长公共子序列和贪婪串匹配的方法进行计算预处理之后的代码的相似度,预处理剔除了注释和预编译指令,并把代码转换为单词串,从而保留了程序的结构这一重要属性,使得大大提升了结果的准确性,使得结果更具有参考意义。 展开更多
关键词 代码相似度分析 最长公共子序列 贪婪字符串匹配
下载PDF
面向代码相似性检测的相似哈希改进方法 被引量:9
10
作者 李玫 高庆 +3 位作者 马森 张世琨 胡文蕙 张兴明 《软件学报》 EI CSCD 北大核心 2021年第7期2242-2259,共18页
代码相似性检测(code similarity detection)是软件工程领域的基本任务之一,其在剽窃检测、许可证违反检测、软件复用分析以及漏洞发现等方向均起着重要作用.随着软件开源化的普及以及开源代码量的高速增长,开源代码在各个领域的应用日... 代码相似性检测(code similarity detection)是软件工程领域的基本任务之一,其在剽窃检测、许可证违反检测、软件复用分析以及漏洞发现等方向均起着重要作用.随着软件开源化的普及以及开源代码量的高速增长,开源代码在各个领域的应用日益频繁,给传统的代码相似性检测方法带来了新的挑战.现有的一些基于词法、语法、语义的检测方法存在算法较为复杂、对解析工具有依赖性、消耗资源高、可移植性差、候选对比项数量较多等问题,在大规模代码库上有一定的局限性.基于相似哈希(simhash)指纹的代码相似性检测算法将代码降维至1个指纹,能够在数据集规模较大的情况下实现快速相似文件检索,并通过海明距离阈值控制匹配结果的相似度范围.通过实验对现有的基于代码行粒度的相似哈希算法进行验证,发现其在大规模数据集下存在行覆盖问题,即高频行特征对低频行特征的覆盖现象,导致结果精确度较低.受TF-IDF算法思想启发,针对上述问题创新性地提出了分语言行筛选优化方法,通过各种语言的行筛选器对代码文件行序列进行筛选,从而消除高频出现但语义信息包含较少的行对结果的影响.对改进前后方法进行一系列对比实验,结果表明,改进后的方法在海明距离阈值为0~8的情况下都能够实现高精确度的相似文件对检索,当阈值为8时在两个数据集下的精确度较改进前的方法分别提升了98.6%和52.2%.在所建立的130万个开源项目、386486112个项目文件的大规模代码库上进行了实验,结果表明所提方法能够快速检测出待测文件的相似文件结果,平均单个文件检测时间为0.43s,并取得了97%以上的检测精度. 展开更多
关键词 代码相似性检测 代码同源分析 大数据 相似哈希 代码指纹生成
下载PDF
二进制代码相似度分析及在嵌入式设备固件漏洞搜索中的应用 被引量:9
11
作者 于颖超 甘水滔 +2 位作者 邱俊洋 秦晓军 陈左宁 《软件学报》 EI CSCD 北大核心 2022年第11期4137-4172,共36页
在当今“万物互联”的时代,嵌入式系统逐渐成为接入云端的重要组件,常用于安全和隐私敏感的应用或设备中.然而,其底层软件(即固件)也在频繁遭受着安全漏洞的影响.由于嵌入式设备底层硬件平台的复杂异构,软硬件实现差异较大,且其专用性... 在当今“万物互联”的时代,嵌入式系统逐渐成为接入云端的重要组件,常用于安全和隐私敏感的应用或设备中.然而,其底层软件(即固件)也在频繁遭受着安全漏洞的影响.由于嵌入式设备底层硬件平台的复杂异构,软硬件实现差异较大,且其专用性强、源码/文档等往往不会公开,加之其运行环境受限等原因,使得一些在桌面系统上运行良好的动态测试工具很难(或根本不可能)直接适配到嵌入式设备/固件环境中.近年来,研究人员逐渐开始探索基于二进制相似度分析技术来检测嵌入式设备固件中存在的已知漏洞,并且取得了较大的进展.围绕二进制代码相似度分析面临的关键技术挑战,系统研究了现有的二进制代码相似度分析技术,对其通用流程、技术特征、评估标准进行了综合分析和比较;然后分析并总结了现有二进制代码相似度分析技术在嵌入式设备固件漏洞搜索领域的应用;最后,提出了该领域应用仍然存在的一些技术挑战及未来的一些开放性的研究方向. 展开更多
关键词 二进制代码相似度分析 嵌入式固件 漏洞搜索 深度学习
下载PDF
基于神经网络与代码相似性的静态漏洞检测 被引量:16
12
作者 夏之阳 易平 杨涛 《计算机工程》 CAS CSCD 北大核心 2019年第12期141-146,共6页
静态漏洞检测通常只针对文本进行检测,执行效率高但是易产生误报。针对该问题,结合神经网络技术,提出一种基于代码相似性的漏洞检测方法。通过对程序源代码进行敏感函数定位、程序切片和变量替换等数据预处理操作,获取训练所用数据。构... 静态漏洞检测通常只针对文本进行检测,执行效率高但是易产生误报。针对该问题,结合神经网络技术,提出一种基于代码相似性的漏洞检测方法。通过对程序源代码进行敏感函数定位、程序切片和变量替换等数据预处理操作,获取训练所用数据。构建基于Bi-LSTM的相似性判别模型,设定漏洞模板数据库,将待测代码与漏洞模板作比对以判别其是否存在漏洞。实验结果表明,该方法的准确率可达88.1%,误报率低至4.7%。 展开更多
关键词 软件安全 静态漏洞检测 深度学习 神经网络 代码相似
下载PDF
二进制代码相似性检测技术综述 被引量:8
13
作者 方磊 武泽慧 魏强 《计算机科学》 CSCD 北大核心 2021年第5期1-8,共8页
代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术... 代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术,文中对近年来该领域的研究进行了综述。首先总结代码相似性检测的基本流程和需要解决的难题(如跨编译器、跨编译器优化配置、跨指令架构检测);然后根据关注的代码信息的不同,将当前的二进制代码相似性检测技术分为4类,即基于文本的、基于属性度量的、基于程序逻辑的和基于语义的检测技术,并列举了部分代表性方法和工具(如Karta,discovRE,Ge-nius,Gemini,SAFE等);最后根据发展脉络和最新研究成果,对该领域的发展方向进行了分析和论述。 展开更多
关键词 软件安全 二进制程序 代码相似性检测
下载PDF
基于程序控制流图源代码相似程度分析系统 被引量:4
14
作者 陈新 《计算机系统应用》 2013年第3期144-147,共4页
源代码相似程度分析在软件工程和计算机教学等领域都有重要的应用.软件工程领域的源代码盗窃和著作权纠纷仲裁,计算机教学领域的学生作业作弊分析都需要源代码相似程度的分析.良好的源代码相似程序分析软件还可以应用于相似代码聚类和... 源代码相似程度分析在软件工程和计算机教学等领域都有重要的应用.软件工程领域的源代码盗窃和著作权纠纷仲裁,计算机教学领域的学生作业作弊分析都需要源代码相似程度的分析.良好的源代码相似程序分析软件还可以应用于相似代码聚类和搜索引擎的源代码搜索领域.尽管源代码相似程度分析问题由来已久,但是这个问题并没有令人十分满意和惊喜的研究结果.源代码有其特殊结构,使用传统的纯文本相似度分析显然是不合适的.将首先介绍这个问题的研究历史和进展,简单分析这个问题的难点所在,继而介绍一个新的基于程序控制流图分析的源代码相似程度分析系统,并给出其算法和实现细节.文章最后将分析这个方法的优劣所在,讨论这个方法的进一步改进方向. 展开更多
关键词 作弊检测 代码相似 控制流图 哈希函数 GCC
下载PDF
基于多特征值的源代码相似性检测技术 被引量:1
15
作者 展佳俊 赵逢禹 艾均 《计算机技术与发展》 2021年第1期103-109,共7页
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很... 在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。 展开更多
关键词 代码相似 代码抄袭 抽象语法树 代码特征提取 余弦相似
下载PDF
基于图嵌入的代码相似性度量 被引量:3
16
作者 梁瑶 谢春丽 王文捷 《计算机科学》 CSCD 北大核心 2022年第S02期801-806,共6页
近年来,代码相似性检测一直是软件工程领域的热点问题,它可以帮助代码克隆检测、代码缺陷预测等,降低软件维护成本。目前流行的代码相似性检测方法大多是借用自然语言处理方法从符号(Token)、抽象语法树(Abstract Syntax Tree,AST)等代... 近年来,代码相似性检测一直是软件工程领域的热点问题,它可以帮助代码克隆检测、代码缺陷预测等,降低软件维护成本。目前流行的代码相似性检测方法大多是借用自然语言处理方法从符号(Token)、抽象语法树(Abstract Syntax Tree,AST)等代码表征中提取源代码的文本、语法、结构等特征信息,将其映射为连续空间的实值向量,然后通过直接计算提取特征的欧氏距离、余弦值,或通过浅层神经网络模型获得代码的相似值,这些方法取得了优于传统程序静态分析的效果。但这些方法大多数是基于源代码语法层面的检测技术,未充分利用源代码的语义信息。Doc2Vec和Word2Vec虽然能够挖掘代码的词汇语义信息,但对代码的执行语义信息无能为力,针对这一问题,提出了使用控制流程图(Control Flow Graph,CFG)来表示代码的执行语义,并使用基于随机游走(Random Walk)的图嵌入方法来学习和推理代码的语义信息,进而判断源代码的功能相似性。实验结果表明,和Doc2Vec以及Word2Vec方法相比,该模型能够较精确地检测出源代码的功能相似性,其F1值相较于Doc2Vec和Word2Vec方法分别提高了16.01%和18.72%。 展开更多
关键词 控制流程图 图嵌入 随机游走 代码相似性检测
下载PDF
代码相似度检验的研究与实践
17
作者 畅斌 赵建强 《计算机科学》 CSCD 北大核心 2015年第B10期102-104,共3页
代码相似度检验是确定是否侵犯软件版权和商业秘密的科学方法之一,能够准确描述涉嫌侵犯版权的软件被侵权的范围和程度。克隆代码检测是代码相似度检验的基本技术,从算法上可分为两类,一类是基于文本序列的检测,另一类是关键字查找... 代码相似度检验是确定是否侵犯软件版权和商业秘密的科学方法之一,能够准确描述涉嫌侵犯版权的软件被侵权的范围和程度。克隆代码检测是代码相似度检验的基本技术,从算法上可分为两类,一类是基于文本序列的检测,另一类是关键字查找,这两类方法都有较为成熟的检验工具可供使用。在实践中,由于缺乏权威性方法和工具,应首先阐明理论依据,然后利用已有工具进行合理测算,从而获得较好的检验效果。 展开更多
关键词 克隆代码 克隆软件 代码相似
下载PDF
改进的卷积神经网络源代码相似性度量方法 被引量:6
18
作者 谢春丽 蔺疆旭 +2 位作者 刘小洋 张文斌 黄军伟 《应用数学和力学》 CSCD 北大核心 2019年第11期1235-1245,共11页
源代码相似性是指不同代码段功能上的相似程度,是软件工程领域一项重要的研究问题.现有的方法主要从文本、结构两方面,利用代码的统计学特征计算相似性,其最大缺点就是无法表达代码的语义特征.为解决此类问题,提出了一种融合统计信息的... 源代码相似性是指不同代码段功能上的相似程度,是软件工程领域一项重要的研究问题.现有的方法主要从文本、结构两方面,利用代码的统计学特征计算相似性,其最大缺点就是无法表达代码的语义特征.为解决此类问题,提出了一种融合统计信息的卷积神经网络(statistics information for code embedding-convolutional neural networks,SICE-CNN)源代码相似性检测方法.该方法首先通过词嵌入对源代码进行信息表示,获取代码的词嵌入向量信息;其次,构建CNN训练模型学习源代码文档的嵌入表示;最后,计算源代码对的余弦相似值.实验表明,该方法和一般词嵌入方法相比提高了一定的性能,能较好地检测源代码的语义相似性. 展开更多
关键词 深度学习 卷积神经网络 代码相似 词嵌入
下载PDF
基于代码相似性的测试用例重用及生成方法
19
作者 刘巧韵 杨秋辉 +2 位作者 洪玫 刘美英 刘盈盈 《计算机工程与设计》 北大核心 2023年第10期2950-2955,共6页
为在测试用例自动化生成中有效利用现有用例信息,降低测试用例生成成本,提高生成效率,提出一种基于代码相似性的测试用例重用及生成方法。设计基于文本和度量的被测代码相似性检测方法,分别从语法和语义上检测并划分相似类型;针对不同... 为在测试用例自动化生成中有效利用现有用例信息,降低测试用例生成成本,提高生成效率,提出一种基于代码相似性的测试用例重用及生成方法。设计基于文本和度量的被测代码相似性检测方法,分别从语法和语义上检测并划分相似类型;针对不同相似类型,采用更名重用和补充重用生成测试用例。将代码相似性应用于测试用例生成,综合考虑代码的语法、语义等多维相似信息,提升代码相似性检测的准确性,能更有效运用重用技术提升测试用例生成效率。实验结果表明,所提方法具有更高的重用召回率和重用精度,在相同时间成本下生成的测试用例覆盖率更高。 展开更多
关键词 单元测试 测试用例自动化生成 测试用例重用 代码相似性检测 代码克隆 语法相似 语义相似
下载PDF
基于中间表示的代码相似性检测方法
20
作者 李思宇 《电子技术与软件工程》 2016年第19期71-71,共1页
研究表明软件系统普遍存在重复代码,为了维护和重构系统,人们需要代码相似性检测工具找到重复代码。大部分传统代码相似性检测方法和工具是基于特定程序语言和目标平台,但是许多软件系统包含多种程序语言编写的源代码。为了使代码相似... 研究表明软件系统普遍存在重复代码,为了维护和重构系统,人们需要代码相似性检测工具找到重复代码。大部分传统代码相似性检测方法和工具是基于特定程序语言和目标平台,但是许多软件系统包含多种程序语言编写的源代码。为了使代码相似性检测方法不局限于特定语言或平台,本文提出了一种基于中间表示的代码相似性检测方法。中间表示包含了程序的运行的基本信息,并且很少受到语言与平台的影响。所以基于中间表示的代码相似性检测方法能够有效的检测出代码的相似程度,并且具有跨语言和跨平台的特性。这种方法的主要思想是利用编译器将源代码编译为中间表示,再对中间表示进行文本的相似性比较,最后利用局部敏感性哈希高效的检测出相似代码对。实验表明基于中间表示的代码相似性检测方法比其他方法有更高的精确性。 展开更多
关键词 中间表示 代码相似 相似性检测
下载PDF
上一页 1 2 3 下一页 到第
使用帮助 返回顶部