摘要

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