当前位置: 首页 > 专利查询>广西大学专利>正文

基于编码特征的SQL代码抄袭检测方法及系统技术方案

技术编号:28372764 阅读:50 留言:0更新日期:2021-05-07 23:59
本发明专利技术公开一种基于编码特征的SQL代码抄袭检测方法及系统,该方法步骤包括:S1.输入指定编码任务下所有的待检测SQL代码,分别提取出各待检测SQL代码中的特定编码特征以及提取泛化编码特征;S2.将提取得到的所有特定编码特征进行聚类,根据聚类结果确定得到抄袭群体;S3.分别获取抄袭群体中各待检测SQL代码进行判断,判断时将待检测SQL代码的泛化编码特征与历史泛化编码特征进行比较,根据判断结果判定待检测SQL代码是否属于抄袭或是被抄袭;S4.将各抄袭群体中各待检测SQL代码的抄袭判定结果输出。本发明专利技术具有实现方法简单、能够实现SQL代码的抄袭自动检测,且检测效率及精度高等优点。

【技术实现步骤摘要】
基于编码特征的SQL代码抄袭检测方法及系统
本专利技术涉及抄袭自动检测
,尤其涉及一种基于编码特征的SQL代码抄袭检测方法及系统。
技术介绍
结构化查询语言(SQL)是数据库技术的关键,在SQL的应用过程中可能需要对众多编写者对同一任务下的SQL代码进行评估,而这其中就可能会存在抄袭现象。如在教学实践中为评估学生的学习质量需要学生完成SQL编程习题,学生提交的SQL代码中就可能存在抄袭现象,这会影响评估的准确性。目前通常是人工依据经验判定众多SQL代码中是否抄袭,不仅需要耗费大量精力,且人工判定的精度也不高,若能够实现智能的抄袭检测,面向大量SQL代码实现自动的抄袭检测、识别,则可以极大的提高检测效率以及精度。针对代码的自动抄袭检测,目前主要采用词频统计、字符串匹配、语法树匹配、编码特征匹配等方式实现,但是相比于其他类型代码,SQL代码具有编码的特殊性,直接采用普适性的代码检测方式通常难以实现精度的检测。针对SQL代码的自动抄袭检测,目前主要采用以下两类方式:1、基于字符串匹配的检测方式:该类方式是通过SQL代码之间的字符本文档来自技高网...

【技术保护点】
1.一种基于编码特征的SQL代码抄袭检测方法,其特征在于,步骤包括:/nS1.编码特征提取:输入指定编码任务下所有的待检测SQL代码,分别提取出各待检测SQL代码中用于表征编写者在当前SQL编码任务下编码特性的特定编码特征,以及提取用于表征编写者在当前SQL编码任务下所展现出的泛化性编码特性的泛化编码特征;/nS2.抄袭群体检测:将提取得到的所有特定编码特征进行聚类,根据聚类结果确定得到抄袭群体,将所述特定编码特征属于同一类的待检测SQL代码作为一个抄袭群体;/nS3.泛化特征匹配:分别获取所述抄袭群体中各待检测SQL代码进行判断,判断时将待检测SQL代码的泛化编码特征与待检测SQL代码所对应...

【技术特征摘要】
1.一种基于编码特征的SQL代码抄袭检测方法,其特征在于,步骤包括:
S1.编码特征提取:输入指定编码任务下所有的待检测SQL代码,分别提取出各待检测SQL代码中用于表征编写者在当前SQL编码任务下编码特性的特定编码特征,以及提取用于表征编写者在当前SQL编码任务下所展现出的泛化性编码特性的泛化编码特征;
S2.抄袭群体检测:将提取得到的所有特定编码特征进行聚类,根据聚类结果确定得到抄袭群体,将所述特定编码特征属于同一类的待检测SQL代码作为一个抄袭群体;
S3.泛化特征匹配:分别获取所述抄袭群体中各待检测SQL代码进行判断,判断时将待检测SQL代码的泛化编码特征与待检测SQL代码所对应的编写者的历史泛化编码特征进行比较,所述历史泛化编码特征由对应编写者多个历史SQL代码数据提取得到的泛化编码特征计算得到,根据判断结果判定待检测SQL代码是否属于抄袭或是被抄袭;
S4.抄袭检测输出:将各所述抄袭群体中各待检测SQL代码的抄袭判定结果输出。


2.根据权利要求1所述的基于编码特征的SQL代码抄袭检测方法,其特征在于:所述特定编码特征包括SQL关键字特征、SCHEMA特征、函数特征、关系运算符特征、括号特征、空格特征、缩进特征、换行特征中任意一种或两种以上的组合。


3.根据权利要求1所述的基于编码特征的SQL代码抄袭检测方法,其特征在于:所述泛化编码特征包括泛化关键字特征、泛化括号特征、泛化换行特征、泛化空格特征、泛化缩进特征、字段名修饰特征中任意一种或两种以上的组合。


4.根据权利要求1或2或3所述的基于编码特征的SQL代码抄袭检测方法,其特征在于,所述步骤S2的步骤包括:
S21.将提取得到的所有特定编码特征进行归一化处理,得到处理后的特定编码特征;
S22.对所述处理后的特定编码特征进行聚类,输出聚类得到的聚类簇;
S23.对得到的所述聚类簇进行判断,若目标聚类簇中元素的数量超过预设阈值,将目标聚类簇判定为所述抄袭群体,输出检测到的抄袭群体。


5.根据权利要求4所述的基于编码特征的SQL代码抄袭检测方法,其特征在于,所述步骤S22中采用凝聚式层次聚类算法进行聚类。


6.根据权利要求1或2或3所述的基于编码特征的SQL代码抄袭检测方法,其特征在于,所述步骤S3中,通过比较待检测SQL代码与对应的历史...

【专利技术属性】
技术研发人员:许嘉莫晓琨吕品
申请(专利权)人:广西大学
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1