Variability-Inducing Requirements for Programs: Increasing Solution Variability for Similarity Checking

Variability-Inducing Requirements for Programs: Increasing Solution Variability for Similarity Checking
复制标题

程序的可变性要求:增加相似性检查的解决方案可变性

DOI:
10.1145/3587102.3588855
复制
发表时间:
2023
期刊:
ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education
影响因子:
--
通讯作者:
Vahid, Frank
Vahid, Frank
中科院分区:
--
文献类型:
--
作者:
Pang, Ashley;Vahid, Frank

文献摘要

参考文献

被引文献

相似文献

相似性检查是检测程序设计课程中作弊的常用方法。一个已知的限制是高利率的类似对缺乏可变性的可能解决方案的程序,特别是小程序。我们在CS1课程中经历过这个问题,在最初几周的相似性检查中产生了许多高度相似的对,其中许多不太可能是由于复制。然而,我们希望及早发现抄袭的学生,以便我们能够干预并帮助这些学生避免养成抄袭的习惯,以免日后给他们带来麻烦。我们的方法是修改程序规范,包括可变性诱导的要求,即在规格中的地方,学生在他们的解决方案中做出选择,不同的选择减少相似性分数。这些可变性诱导的要求是故意设计的,以避免使问题对学生来说更难。引入可变性的需求的例子包括添加检查无效输入的需求,或者计数项。这些要求有许多不同的可能方式来实现每一个。从本质上讲,可变性诱导的要求降低了两个学生提交的程序被相似性检查器评为高度相似的可能性,即使是小程序。对于CS1课程中的5个程序,我们添加了一些可变性诱导要求。与之前的术语相比,相似性检查器的高度相似对率平均从52%下降到20%。学生的分数从98%到96%保持不变,尽管平均时间从18分钟增加到31分钟。增加这些要求有助于教师进行相似性检测,并在需要时进行早期干预。
Similarity checking is a common approach for detecting cheating in programming courses. A known limitation is high rates of similar pairs for programs lacking variability in possible solutions, especially for small programs. We experienced this issue in our CS1 course, where similarity checking in early weeks yielded many highly-similar pairs, many of which were not likely due to copying. Yet, we wish to catch copying students early, so that we can intervene and help those students avoid developing copying habits that may cause them trouble later. Our approach is to modify the program specifications to include variability-inducing requirements, namely places in the specifications where students make choices in their solutions, where different choices reduce the similarity scores. Those variability-inducing requirements are intentionally designed to avoid making the problem much harder for students. Examples of variability-inducing requirements include adding requirements to check for invalid input, or counting items. Such requirements have many different possible ways of implementing each. Essentially, variability-inducing requirements decrease the odds that two students would submit programs scored as highly-similar by a similarity checker, even for small programs. For 5 programs in our CS1 course, we added some variability-inducing requirements. Compared to an earlier term, the similarity checker's highly-similar-pairs rate dropped from 52% to 20% on average. Students' scores stayed the same from 98% to 96%, though time did increase from 18 min to 31 min on average. Adding such requirements helps instructors to do similarity detection and perform early interventions if desired.
DOI: 10.1109/icsm.1999.792593
发表时间: 1999-08
期刊: Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)
影响因子: --
作者:
Stéphane Ducasse;M. Rieger;S. Demeyer
通讯作者: Stéphane Ducasse;M. Rieger;S. Demeyer
zyBooks
DOI: --
发表时间: --
期刊: 2016 EDI Proceedings
影响因子: --
作者:
Frank Vahid
通讯作者: Frank Vahid
检测基础编程课程中的抄袭行为
DOI: --
发表时间: 2012
期刊: International Conference on Fuzzy Systems and Knowledge Discovery
影响因子: --
作者:
Ushio Inoue;Shuhei Wada
通讯作者: Shuhei Wada
DOI: --
发表时间: 2018
期刊: International Computing Education Research Workshop
影响因子: --
作者:
Narjes Tahaei;D. Noelle
通讯作者: D. Noelle
DOI: --
发表时间: 2010
期刊:
影响因子: --
作者:
Jurriaan Hage;P. Rademaker
通讯作者: P. Rademaker