期刊文献+
共找到48篇文章
< 1 2 3 >
每页显示 20 50 100
相似代码检测工具及其案例分析 被引量:2
1
作者 李卓 邓明荣 《计算机工程与科学》 CSCD 北大核心 2010年第4期71-74,135,共5页
软件系统中的相似代码给软件维护带来很大困难,也是最易见的重构对象。如何有效地检测相似代码是软件工程领域的一个重要研究课题。本文介绍了常见的基于文本匹配的相似代码检测算法,尤其是检测源文件之间相似代码的动态文本匹配算法和... 软件系统中的相似代码给软件维护带来很大困难,也是最易见的重构对象。如何有效地检测相似代码是软件工程领域的一个重要研究课题。本文介绍了常见的基于文本匹配的相似代码检测算法,尤其是检测源文件之间相似代码的动态文本匹配算法和源文件内部相似代码的后缀树算法,并将这两种算法结合起来,实现一个相似代码检测工具。该工具提供了时空代价平衡的相似代码检测能力,提供了精确有效的相似代码检测手段,帮助开发人员锁定相似代码,提高了重构活动的效率。本文介绍了该工具的架构和内部处理流程,并应用该工具搜索了若干实际应用系统的重复代码,检验了工具的可用性。还简单讨论了该工具和其他一些相似代码检测工具的优劣。 展开更多
关键词 相似代码检测 动态文本匹配 后缀树 重构
下载PDF
基于结构特征聚类的相似代码检索方法 被引量:1
2
作者 王克朝 王甜甜 +2 位作者 王知非 任向民 林海成 《科学技术与工程》 北大核心 2015年第11期221-225,共5页
针对基于图的相似代码检测方法复杂度高、对代码多样化识别能力有限等问题,提出基于结构特征聚类的方法。首先将代码表示为控制依赖树,在此基础上执行代码标准化,消除代码表达方式的多样化,以便识别语法表示不同,而语义相似的代码;然后... 针对基于图的相似代码检测方法复杂度高、对代码多样化识别能力有限等问题,提出基于结构特征聚类的方法。首先将代码表示为控制依赖树,在此基础上执行代码标准化,消除代码表达方式的多样化,以便识别语法表示不同,而语义相似的代码;然后采用特征向量描述程序的结构信息,将复杂的图的相似度求解问题转换为简单的相似向量的聚类问题,快速提取可能相似的候选代码。实验结果表明,方法与Gabel等人提出的方法相比,可以识别更多的代码多样化。 展开更多
关键词 相似代码 语义分析 向量聚类
下载PDF
基于序列聚类的相似代码检测算法 被引量:5
3
作者 于世英 袁雪梅 +2 位作者 卢海涛 任家东 李硕 《智能系统学报》 CSCD 北大核心 2013年第1期52-57,共6页
为了提高源程序代码之间相似性的检测效率,提出一种基于序列聚类的相似代码检测算法.算法首先把源代码按照其自身的结构进行分段提取,然后对各个分段进行部分代码变换,再以带权重的编辑距离为相似度量标准对这些符号进行序列聚类,得到... 为了提高源程序代码之间相似性的检测效率,提出一种基于序列聚类的相似代码检测算法.算法首先把源代码按照其自身的结构进行分段提取,然后对各个分段进行部分代码变换,再以带权重的编辑距离为相似度量标准对这些符号进行序列聚类,得到相似的程序代码片段,以达到对源程序进行相似功能检测的目的.使用多个真实和仿真程序对上述算法进行了实验,实验结果验证了算法的有效性和可伸缩性. 展开更多
关键词 序列聚类 权重编辑距离 相似代码检测
下载PDF
基于后缀树的相似代码检测方法的研究
4
作者 禤静 《信息通信》 2016年第10期117-118,共2页
通常以词或字符为单位构造后缀树进行代码检测,空间开销大,同时增加字符串对比数量。针对该问题,文章设计了一种基于后缀树的代码相似度检测方法,应用Rabin指纹算法以句子为单位生成的指纹序来构造后缀树,并结合RMQ提取后缀树指纹公共... 通常以词或字符为单位构造后缀树进行代码检测,空间开销大,同时增加字符串对比数量。针对该问题,文章设计了一种基于后缀树的代码相似度检测方法,应用Rabin指纹算法以句子为单位生成的指纹序来构造后缀树,并结合RMQ提取后缀树指纹公共子串长度,以此计算出代码的相似度。 展开更多
关键词 后缀树 Rabin指纹算法 相似代码检测
下载PDF
代码相似性检测技术综述
5
作者 孙祥杰 魏强 +1 位作者 王奕森 杜江 《计算机应用》 CSCD 北大核心 2024年第4期1248-1258,共11页
代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术... 代码复用为软件开发带来便利的同时也引入了安全风险,如加速漏洞传播、代码恶意抄袭等,代码相似性检测技术通过分析代码间词法、语法、语义等信息计算代码相似程度,是判断代码复用最有效的技术之一,也是近年发展较快的程序安全分析技术。首先,系统梳理代码相似性检测的近期技术进展,根据目标代码是否开源,将代码相似性检测技术分为源码相似性检测和二进制代码相似性检测,又根据编程语言、指令集的不同进行二次细分;其次,总结每一种技术的思路和研究成果,分析机器学习技术在代码相似性检测领域成功的案例,并讨论现有技术的优势与不足;最后,给出代码相似性检测技术的发展趋势,为相关研究人员提供参考。 展开更多
关键词 二进制代码相似 代码相似 跨语言代码相似 深度学习 代码克隆
下载PDF
改进型SimHash算法用于代码数据相似度检测 被引量:2
6
作者 徐莉 刘威 常兴治 《福建电脑》 2023年第6期41-45,共5页
在程序设计类课程的教学过程中,对学生代码的分析和检测能够有效反映学生的课堂学习行为和知识点掌握情况。学生书写速度的不同会导致相同周期内程序代码长度不一致,对从时间维度提取代码文件的特征会有一定的影响。本文提出了一种用于... 在程序设计类课程的教学过程中,对学生代码的分析和检测能够有效反映学生的课堂学习行为和知识点掌握情况。学生书写速度的不同会导致相同周期内程序代码长度不一致,对从时间维度提取代码文件的特征会有一定的影响。本文提出了一种用于检测代码相似度的改进型SimHash算法。首先,将学生代码以时间序列进行收集,统计代码的有效行数和字符数量,并结合整个课堂讲授周期数据计算代码有效性权重;其次,对学生代码进行动态时间规整,使学生代码在相同的周期内长度一致;随后,提取代码文件的SimHash特征,根据代码有效性权重对特征进行加权处理并降维,得到改进型SimHash特征;最后,根据代码文件的改进型SimHash特征,计算代码相似度。实验表明,本文提出的算法能够有效计算代码的相似度。 展开更多
关键词 程序设计 代码相似 SimHash特征 动态时间规整
下载PDF
基于代码相似性的测试用例重用及生成方法
7
作者 刘巧韵 杨秋辉 +2 位作者 洪玫 刘美英 刘盈盈 《计算机工程与设计》 北大核心 2023年第10期2950-2955,共6页
为在测试用例自动化生成中有效利用现有用例信息,降低测试用例生成成本,提高生成效率,提出一种基于代码相似性的测试用例重用及生成方法。设计基于文本和度量的被测代码相似性检测方法,分别从语法和语义上检测并划分相似类型;针对不同... 为在测试用例自动化生成中有效利用现有用例信息,降低测试用例生成成本,提高生成效率,提出一种基于代码相似性的测试用例重用及生成方法。设计基于文本和度量的被测代码相似性检测方法,分别从语法和语义上检测并划分相似类型;针对不同相似类型,采用更名重用和补充重用生成测试用例。将代码相似性应用于测试用例生成,综合考虑代码的语法、语义等多维相似信息,提升代码相似性检测的准确性,能更有效运用重用技术提升测试用例生成效率。实验结果表明,所提方法具有更高的重用召回率和重用精度,在相同时间成本下生成的测试用例覆盖率更高。 展开更多
关键词 单元测试 测试用例自动化生成 测试用例重用 代码相似性检测 代码克隆 语法相似 语义相似
下载PDF
代码相似性检测技术:研究综述 被引量:23
8
作者 熊浩 晏海华 +3 位作者 郭涛 黄永刚 郝永乐 李舟军 《计算机科学》 CSCD 北大核心 2010年第8期9-14,76,共7页
程序代码的相似性检测是使用一定的检测手段度量程序代码间的相似程度,其对于提升高等教育中计算机课程教学效果和保护软件知识产权都有着重要的意义。介绍了代码相似性检测技术的研究意义和发展历程,阐述了本领域研究过程中的概念模型... 程序代码的相似性检测是使用一定的检测手段度量程序代码间的相似程度,其对于提升高等教育中计算机课程教学效果和保护软件知识产权都有着重要的意义。介绍了代码相似性检测技术的研究意义和发展历程,阐述了本领域研究过程中的概念模型,深入分析了已有的几类代码相似性检测技术,总结了这几类技术各自的特点,同时探讨了一些相关研究,最后归纳了目前研究中的问题并展望了本领域研究的发展趋势。 展开更多
关键词 代码相似 自动检测 概念模型
下载PDF
程序代码相似性检测技术在教学中的应用 被引量:5
9
作者 王春晖 程金宏 +1 位作者 孟繁军 刘东升 《计算机教育》 2007年第12X期137-139,119,共4页
本文介绍的程序代码相似性检测技术可以帮助教师从学生作业集中快速找出彼此是否存在抄袭嫌疑,并能够对作业对的相似部分做出标记,给教师提供参考,以减轻教师人工判别的工作负担,从而提高工作效率。
关键词 程序代码相似性检测技术 程序设计类课程 代码相似性检测系统 程序作业抄袭
下载PDF
程序代码相似度度量的研究与实现 被引量:17
10
作者 于海英 《计算机工程》 CAS CSCD 北大核心 2010年第4期45-46,49,共3页
针对程序代码相似度的度量问题,提出一种属性计数和结构度量相结合的方法,通过统计程序源代码的操作符和操作数个数,产生Halstead长度、Halstead词汇和Halstead容量3个程序的特征向量,利用向量夹角的余弦计算属性相似度,采用最长公共子... 针对程序代码相似度的度量问题,提出一种属性计数和结构度量相结合的方法,通过统计程序源代码的操作符和操作数个数,产生Halstead长度、Halstead词汇和Halstead容量3个程序的特征向量,利用向量夹角的余弦计算属性相似度,采用最长公共子序列算法获取结构相似度,从而衡量程序对间的相似程度。实验结果表明,该方法能够有效检测出学生作业中的相似程序代码。 展开更多
关键词 属性计数 结构度量 程序代码相似
下载PDF
程序代码相似度检测方法的设计与实现 被引量:5
11
作者 全上克 杨新锋 《微型电脑应用》 2013年第10期38-41,共4页
程序代码的相似度是剽窃检测的关键技术。通过对现有程序代码相似度度量技术进行研究后,基于属性技术法、结构度量法提出了一种属性计数和结构度量相结合的方法。通过统计程序源代码的操作符和操作数个数以及程序逻辑结构从而产生出一... 程序代码的相似度是剽窃检测的关键技术。通过对现有程序代码相似度度量技术进行研究后,基于属性技术法、结构度量法提出了一种属性计数和结构度量相结合的方法。通过统计程序源代码的操作符和操作数个数以及程序逻辑结构从而产生出一个特征向量,利用向量夹角的余弦计算属性相似度。实验结果表明,该方法能够有效检测出作业中相似的程序代码。 展开更多
关键词 属性计数 结构度量 程序代码相似
下载PDF
一种基于串匹配的程序代码相似性识别方法 被引量:2
12
作者 王春晖 《黑龙江科技信息》 2015年第29期167-,共1页
相同功能的程序代码之间存在较高的相似度,识别出这些相似的代码有助于代码的抄袭检测、软件中克隆代码检测以及代码同源性检测。将程序转换成了一些量化的标识串(Token),然后使用高效的RKR-GST串匹配算法找出每对Token串的所有最长公... 相同功能的程序代码之间存在较高的相似度,识别出这些相似的代码有助于代码的抄袭检测、软件中克隆代码检测以及代码同源性检测。将程序转换成了一些量化的标识串(Token),然后使用高效的RKR-GST串匹配算法找出每对Token串的所有最长公共子串,然后根据公式计算相似度,最后根据相似度的值作为判定相似性的依据。 展开更多
关键词 RKR-GST算法 代码相似 识别方法
下载PDF
基于代码相似度的隐含学生行为模式挖掘
13
作者 徐雅静 李通 刘玉涛 《计算机教育》 2017年第6期90-94,共5页
针对学生在编程中出现的代码拷贝问题,提出用一种改进的分段最长公共子序列匹配算法分析代码相似度,进一步挖掘隐藏在相似代码背后的学生之间合作关系以及行为模式,对于如何了解、干预和避免学生抄袭行为的扩散以及正确评价学生的编程... 针对学生在编程中出现的代码拷贝问题,提出用一种改进的分段最长公共子序列匹配算法分析代码相似度,进一步挖掘隐藏在相似代码背后的学生之间合作关系以及行为模式,对于如何了解、干预和避免学生抄袭行为的扩散以及正确评价学生的编程能力进行积极有益的探索。 展开更多
关键词 代码相似 行为模式挖掘 合作关系挖掘 LCS(大于3个 小于8个)
下载PDF
基于LCS和GST算法的代码相似度分析 被引量:1
14
作者 金恩海 殷立曜 王阳睿 《电子技术与软件工程》 2016年第3期180-180,共1页
从上世纪70年代开始,就有大批的学者进行了代码相似度的研究。通过研究前任的方法,我们提出了通过最长公共子序列和贪婪串匹配的方法进行计算预处理之后的代码的相似度,预处理剔除了注释和预编译指令,并把代码转换为单词串,从而保留了... 从上世纪70年代开始,就有大批的学者进行了代码相似度的研究。通过研究前任的方法,我们提出了通过最长公共子序列和贪婪串匹配的方法进行计算预处理之后的代码的相似度,预处理剔除了注释和预编译指令,并把代码转换为单词串,从而保留了程序的结构这一重要属性,使得大大提升了结果的准确性,使得结果更具有参考意义。 展开更多
关键词 代码相似度分析 最长公共子序列 贪婪字符串匹配
下载PDF
面向代码相似性检测的相似哈希改进方法 被引量:8
15
作者 李玫 高庆 +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
二进制代码相似度分析及在嵌入式设备固件漏洞搜索中的应用 被引量:6
16
作者 于颖超 甘水滔 +2 位作者 邱俊洋 秦晓军 陈左宁 《软件学报》 EI CSCD 北大核心 2022年第11期4137-4172,共36页
在当今“万物互联”的时代,嵌入式系统逐渐成为接入云端的重要组件,常用于安全和隐私敏感的应用或设备中.然而,其底层软件(即固件)也在频繁遭受着安全漏洞的影响.由于嵌入式设备底层硬件平台的复杂异构,软硬件实现差异较大,且其专用性... 在当今“万物互联”的时代,嵌入式系统逐渐成为接入云端的重要组件,常用于安全和隐私敏感的应用或设备中.然而,其底层软件(即固件)也在频繁遭受着安全漏洞的影响.由于嵌入式设备底层硬件平台的复杂异构,软硬件实现差异较大,且其专用性强、源码/文档等往往不会公开,加之其运行环境受限等原因,使得一些在桌面系统上运行良好的动态测试工具很难(或根本不可能)直接适配到嵌入式设备/固件环境中.近年来,研究人员逐渐开始探索基于二进制相似度分析技术来检测嵌入式设备固件中存在的已知漏洞,并且取得了较大的进展.围绕二进制代码相似度分析面临的关键技术挑战,系统研究了现有的二进制代码相似度分析技术,对其通用流程、技术特征、评估标准进行了综合分析和比较;然后分析并总结了现有二进制代码相似度分析技术在嵌入式设备固件漏洞搜索领域的应用;最后,提出了该领域应用仍然存在的一些技术挑战及未来的一些开放性的研究方向. 展开更多
关键词 二进制代码相似度分析 嵌入式固件 漏洞搜索 深度学习
下载PDF
基于神经网络与代码相似性的静态漏洞检测 被引量:15
17
作者 夏之阳 易平 杨涛 《计算机工程》 CAS CSCD 北大核心 2019年第12期141-146,共6页
静态漏洞检测通常只针对文本进行检测,执行效率高但是易产生误报。针对该问题,结合神经网络技术,提出一种基于代码相似性的漏洞检测方法。通过对程序源代码进行敏感函数定位、程序切片和变量替换等数据预处理操作,获取训练所用数据。构... 静态漏洞检测通常只针对文本进行检测,执行效率高但是易产生误报。针对该问题,结合神经网络技术,提出一种基于代码相似性的漏洞检测方法。通过对程序源代码进行敏感函数定位、程序切片和变量替换等数据预处理操作,获取训练所用数据。构建基于Bi-LSTM的相似性判别模型,设定漏洞模板数据库,将待测代码与漏洞模板作比对以判别其是否存在漏洞。实验结果表明,该方法的准确率可达88.1%,误报率低至4.7%。 展开更多
关键词 软件安全 静态漏洞检测 深度学习 神经网络 代码相似
下载PDF
二进制代码相似性检测技术综述 被引量:7
18
作者 方磊 武泽慧 魏强 《计算机科学》 CSCD 北大核心 2021年第5期1-8,共8页
代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术... 代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术,文中对近年来该领域的研究进行了综述。首先总结代码相似性检测的基本流程和需要解决的难题(如跨编译器、跨编译器优化配置、跨指令架构检测);然后根据关注的代码信息的不同,将当前的二进制代码相似性检测技术分为4类,即基于文本的、基于属性度量的、基于程序逻辑的和基于语义的检测技术,并列举了部分代表性方法和工具(如Karta,discovRE,Ge-nius,Gemini,SAFE等);最后根据发展脉络和最新研究成果,对该领域的发展方向进行了分析和论述。 展开更多
关键词 软件安全 二进制程序 代码相似性检测
下载PDF
基于程序控制流图源代码相似程度分析系统 被引量:4
19
作者 陈新 《计算机系统应用》 2013年第3期144-147,共4页
源代码相似程度分析在软件工程和计算机教学等领域都有重要的应用.软件工程领域的源代码盗窃和著作权纠纷仲裁,计算机教学领域的学生作业作弊分析都需要源代码相似程度的分析.良好的源代码相似程序分析软件还可以应用于相似代码聚类和... 源代码相似程度分析在软件工程和计算机教学等领域都有重要的应用.软件工程领域的源代码盗窃和著作权纠纷仲裁,计算机教学领域的学生作业作弊分析都需要源代码相似程度的分析.良好的源代码相似程序分析软件还可以应用于相似代码聚类和搜索引擎的源代码搜索领域.尽管源代码相似程度分析问题由来已久,但是这个问题并没有令人十分满意和惊喜的研究结果.源代码有其特殊结构,使用传统的纯文本相似度分析显然是不合适的.将首先介绍这个问题的研究历史和进展,简单分析这个问题的难点所在,继而介绍一个新的基于程序控制流图分析的源代码相似程度分析系统,并给出其算法和实现细节.文章最后将分析这个方法的优劣所在,讨论这个方法的进一步改进方向. 展开更多
关键词 作弊检测 代码相似 控制流图 哈希函数 GCC
下载PDF
基于多特征值的源代码相似性检测技术 被引量:1
20
作者 展佳俊 赵逢禹 艾均 《计算机技术与发展》 2021年第1期103-109,共7页
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很... 在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。 展开更多
关键词 代码相似 代码抄袭 抽象语法树 代码特征提取 余弦相似
下载PDF
上一页 1 2 3 下一页 到第
使用帮助 返回顶部