Подтвердить что ты не робот

Как проверить исходный код-домашнюю работу для плагиата?

Как я могу сказать, что два исходных кода (независимо от их языка C, Java, Lisp...) имеют сильные признаки того, что они могут быть плагиатом друг друга?

Фон: Я собираюсь дать свой первый семинар по компьютерным языкам. Мы подготовили небольшие упражнения для основных языков программирования, таких как C/С++, Python, Java,... но также OCaml, Haskell,... чтобы дать студентам практическое введение (также в парадигмы программирования). По нашим оценкам, у 300 студентов с более чем 50 заданиями на одного человека. Таким образом, один человек не может проверить все домашние задания.

Я полагаю, что методы антиплагиата, используемые для естественных языков (эссе, статьи, главы книг и т.д.), не будут работать для исходного кода, верно? Также решения для этих задач программирования будут иметь присущее сходство из-за требуемого интерфейса.

Я сделал небольшой поиск и нашел: MOSS, упомянутый в: Проверка для плагиата кода с JavaScript и Переменное переименование для обнаружения плагиата для C/С++

4b9b3361

Ответ 1

Награда - небольшой приз за его обнаружение. Учитывая возможность пары пива, студенты будут изливаться через сеть в течение нескольких часов, ища матчи из других представлений студентов.

С большими штрафами за правонарушения он самофинансирует и вознаграждает студентов, которые выполняют свою собственную работу, - они хотят пива и не собираются оставлять себя в месть самим плагиатом!