摘要

数据库技术是计算机学科的核心课程,而掌握结构化查询语言(即SQL)是学好数据库技术的关键。然而,大量教学实践表明学生在做SQL习题时存在抄袭现象,不利于保证教学质量。虽然当前一些研究人员针对SQL习题抄袭检测问题给出了解决方案,然而现有方案或是简单将学生提交的SQL代码进行相似性匹配来发现抄袭问题,或是利用学生在SQL编码习惯上的简单差异特征来发现抄袭的作业,均没能很好利用学生书写SQL代码时所展现出的丰富编码特征来实现高精确度的抄袭检测。鉴于此,本文提出了基于编码特征的SQL习题抄袭检测技术,命名为SQL-Detector。首先从SQL特性出发提取学生的习题编码特征和习题泛化编码特征,其次通过对学生的习题编码特征进行聚类分析识别出抄袭群体,最后通过比较学生的习题泛化编码特征与其历史泛化编码特征之间的一致性来判定抄袭者与被抄袭者。利用真实课堂实践收集到的SQL习题答题数据进行实验评估,结果表明SQL-Detector技术对于SQL习题的抄袭检测精确度比相关最好的技术平均提高了14%。