-
题名程序代码相似性检测技术在教学中的应用
被引量:5
- 1
-
-
作者
王春晖
程金宏
孟繁军
刘东升
-
机构
内蒙古师范大学计算机与信息工程学院
公安边防部队呼和浩特指挥学校
-
出处
《计算机教育》
2007年第12X期137-139,119,共4页
-
基金
内蒙古教育厅科研基金项目(NJ06109)资助。
-
文摘
本文介绍的程序代码相似性检测技术可以帮助教师从学生作业集中快速找出彼此是否存在抄袭嫌疑,并能够对作业对的相似部分做出标记,给教师提供参考,以减轻教师人工判别的工作负担,从而提高工作效率。
-
关键词
程序代码相似性检测技术
程序设计类课程
代码相似性检测系统
程序作业抄袭
-
分类号
G642
[文化科学—高等教育学]
-
-
题名面向代码相似性检测的相似哈希改进方法
被引量:9
- 2
-
-
作者
李玫
高庆
马森
张世琨
胡文蕙
张兴明
-
机构
高可信软件技术教育部重点实验室(北京大学)
北京大学软件工程国家工程研究中心
北京大学软件与微电子学院
之江实验室
-
出处
《软件学报》
EI
CSCD
北大核心
2021年第7期2242-2259,共18页
-
基金
2019年工业互联网创新发展工程-工业软件源代码安全检测工具项目
之江实验室“先进工业互联网安全平台”项目(2018FD0ZX01)
-
文摘
代码相似性检测(code similarity detection)是软件工程领域的基本任务之一,其在剽窃检测、许可证违反检测、软件复用分析以及漏洞发现等方向均起着重要作用.随着软件开源化的普及以及开源代码量的高速增长,开源代码在各个领域的应用日益频繁,给传统的代码相似性检测方法带来了新的挑战.现有的一些基于词法、语法、语义的检测方法存在算法较为复杂、对解析工具有依赖性、消耗资源高、可移植性差、候选对比项数量较多等问题,在大规模代码库上有一定的局限性.基于相似哈希(simhash)指纹的代码相似性检测算法将代码降维至1个指纹,能够在数据集规模较大的情况下实现快速相似文件检索,并通过海明距离阈值控制匹配结果的相似度范围.通过实验对现有的基于代码行粒度的相似哈希算法进行验证,发现其在大规模数据集下存在行覆盖问题,即高频行特征对低频行特征的覆盖现象,导致结果精确度较低.受TF-IDF算法思想启发,针对上述问题创新性地提出了分语言行筛选优化方法,通过各种语言的行筛选器对代码文件行序列进行筛选,从而消除高频出现但语义信息包含较少的行对结果的影响.对改进前后方法进行一系列对比实验,结果表明,改进后的方法在海明距离阈值为0~8的情况下都能够实现高精确度的相似文件对检索,当阈值为8时在两个数据集下的精确度较改进前的方法分别提升了98.6%和52.2%.在所建立的130万个开源项目、386486112个项目文件的大规模代码库上进行了实验,结果表明所提方法能够快速检测出待测文件的相似文件结果,平均单个文件检测时间为0.43s,并取得了97%以上的检测精度.
-
关键词
代码相似性检测
代码同源分析
大数据
相似哈希
代码指纹生成
-
Keywords
code similarity detection
code homology analyze
big data
simhash
code fingerprint generation
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名二进制代码相似性检测技术综述
被引量:8
- 3
-
-
作者
方磊
武泽慧
魏强
-
机构
信息工程大学数学工程与先进计算国家重点实验室
-
出处
《计算机科学》
CSCD
北大核心
2021年第5期1-8,共8页
-
基金
国家重点研发课题(2017YFB0803202)
之江实验室“先进工业互联网安全平台”项目(2018FD0ZX01)
+1 种基金
河南省软科学研究计划项目(192102210128)
2020年度重庆市出版专项资金资助项目。
-
文摘
代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术,文中对近年来该领域的研究进行了综述。首先总结代码相似性检测的基本流程和需要解决的难题(如跨编译器、跨编译器优化配置、跨指令架构检测);然后根据关注的代码信息的不同,将当前的二进制代码相似性检测技术分为4类,即基于文本的、基于属性度量的、基于程序逻辑的和基于语义的检测技术,并列举了部分代表性方法和工具(如Karta,discovRE,Ge-nius,Gemini,SAFE等);最后根据发展脉络和最新研究成果,对该领域的发展方向进行了分析和论述。
-
关键词
软件安全
二进制程序
代码相似性检测
-
Keywords
Software security
Binary program
Code similarity detection
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于代码相似性的测试用例重用及生成方法
- 4
-
-
作者
刘巧韵
杨秋辉
洪玫
刘美英
刘盈盈
-
机构
四川大学计算机学院
-
出处
《计算机工程与设计》
北大核心
2023年第10期2950-2955,共6页
-
基金
国家重点研发计划基金项目(2020YFB1711801)
四川省自然科学基金项目(23NSFSC3752)
四川大学专职博士后研发基金项目(2022SCU12077)。
-
文摘
为在测试用例自动化生成中有效利用现有用例信息,降低测试用例生成成本,提高生成效率,提出一种基于代码相似性的测试用例重用及生成方法。设计基于文本和度量的被测代码相似性检测方法,分别从语法和语义上检测并划分相似类型;针对不同相似类型,采用更名重用和补充重用生成测试用例。将代码相似性应用于测试用例生成,综合考虑代码的语法、语义等多维相似信息,提升代码相似性检测的准确性,能更有效运用重用技术提升测试用例生成效率。实验结果表明,所提方法具有更高的重用召回率和重用精度,在相同时间成本下生成的测试用例覆盖率更高。
-
关键词
单元测试
测试用例自动化生成
测试用例重用
代码相似性检测
代码克隆
语法相似性
语义相似性
-
Keywords
unit test
automatic test case generation
test case reuse
code similarity detection
code cloned
text-based similarity
measurement-based similarity
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于图嵌入的代码相似性度量
被引量:3
- 5
-
-
作者
梁瑶
谢春丽
王文捷
-
机构
江苏师范大学计算机科学与技术学院
-
出处
《计算机科学》
CSCD
北大核心
2022年第S02期801-806,共6页
-
基金
国家自然科学基金(61773185,61877030)
江苏省研究生科研与实践创新计划项目(2021XKT1392)
-
文摘
近年来,代码相似性检测一直是软件工程领域的热点问题,它可以帮助代码克隆检测、代码缺陷预测等,降低软件维护成本。目前流行的代码相似性检测方法大多是借用自然语言处理方法从符号(Token)、抽象语法树(Abstract Syntax Tree,AST)等代码表征中提取源代码的文本、语法、结构等特征信息,将其映射为连续空间的实值向量,然后通过直接计算提取特征的欧氏距离、余弦值,或通过浅层神经网络模型获得代码的相似值,这些方法取得了优于传统程序静态分析的效果。但这些方法大多数是基于源代码语法层面的检测技术,未充分利用源代码的语义信息。Doc2Vec和Word2Vec虽然能够挖掘代码的词汇语义信息,但对代码的执行语义信息无能为力,针对这一问题,提出了使用控制流程图(Control Flow Graph,CFG)来表示代码的执行语义,并使用基于随机游走(Random Walk)的图嵌入方法来学习和推理代码的语义信息,进而判断源代码的功能相似性。实验结果表明,和Doc2Vec以及Word2Vec方法相比,该模型能够较精确地检测出源代码的功能相似性,其F1值相较于Doc2Vec和Word2Vec方法分别提高了16.01%和18.72%。
-
关键词
控制流程图
图嵌入
随机游走
代码相似性检测
-
Keywords
Control flow graph
Graph embedding
Random walk
Code similarity detection
-
分类号
TP311.1
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于代码相似性算法的敌对题发现问题研究
- 6
-
-
作者
肖崇星
李郴
曹晓洒
-
机构
中国矿业大学(北京)机电与信息工程学院
-
出处
《无线互联科技》
2017年第1期137-139,共3页
-
文摘
试卷中可能出现的敌对题问题,是影响试卷质量的一个重要因素,针对这一问题,文章在分析了C语言试卷中读程序题和编程题的特点及研究了常用程序代码相似性检测算法的基础上,给出了一种基于抽象语法树的敌对题发现算法,希望能较好地解决C语言自动组卷系统中出现的敌对题问题,从而进一步提高C语言自动组卷系统的组卷质量。
-
关键词
敌对题
代码相似性检测
抽象语法树
-
Keywords
hostile question
code similarity detection
abstract syntax tree
-
分类号
TP301.6
[自动化与计算机技术—计算机系统结构]
-
-
题名基于角度边界的二进制函数对比学习模型
- 7
-
-
作者
孙瑞锦
郭世泽
黎维
詹达之
王军
潘志松
-
机构
陆军工程大学指挥控制工程学院
国家计算机网络与信息安全管理中心
陆军装甲兵学院
[
-
出处
《陆军工程大学学报》
2024年第4期42-50,共9页
-
基金
国家自然科学基金(62076251)。
-
文摘
现有代码相似性检测模型主要关注编码器的构建,对深度学习的损失函数研究较少。针对二进制函数嵌入向量评估被忽略的问题,提出了一种基于角度边界的二进制代码对比学习模型(angular marginbased binary code contrastive learning framework,AngCLF)。通过优化对比学习的目标函数,提高了模型的准确性并加快了收敛速度。分析了模型产生效果的原因,并引入多个评估二进制代码向量空间的指标。通过实验验证了AngCLF的准确性,发现其在准确性上超越了包括jTrans模型在内的6个模型,并且收敛速度更快,对齐度和均匀性等指标也有明显优势。
-
关键词
对比学习
角度边界
嵌入学习
二进制代码相似性检测
-
Keywords
contrastive learning
angular margin
embedding learning
binary code similarity detection(BCSD)
-
分类号
TP309
[自动化与计算机技术—计算机系统结构]
-
-
题名C语言组卷系统中重复题问题研究
被引量:1
- 8
-
-
作者
陈星
李郴
-
机构
中国矿业大学北京机电与信息工程学院
-
出处
《电脑知识与技术》
2018年第1期214-216,共3页
-
文摘
在一套试卷中,重复题问题是影响考试质量的一个重要因素。该文针对C语言试卷中选择题间易出现重复题问题进行深入研究.通过对代码相似性检测以及文本相似性检测综合研究应用,希望能找到较好地处理C语言试卷中选择题的重复题问题的方法,进一步提高C语言组卷模块的组卷质量,减轻教师的工作量。
-
关键词
重复题
代码相似性检测
文本相似性检测
-
Keywords
Repetition problem
Code similarity detection
Text similarity detection
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-