Аннотация:В качестве метода обнаружения схожести текстов студент выбрал широко распространенный метод сравнения N-грамм (шинглов). Сходство вычисляется с помощью расстояния Левенштейна, расстояния Жаккара и коэффициента Отиаи для пар программ, пользователь получает список пар в порядке убывания сходства. Также студент описал несколько способов, с помощью которых программный код может быть несколько изменен внешне, но при этом по сути будет оставаться таким же (добавление пробелов, другое разбиение на строки, комментарии). Чтобы минимизировать влияние таких изменений, программы подвергаются предобработке разработанными студентом методами.
Планировалось, что ввиду достаточно большого количества готовых решений данной проблемы студент сосредоточится на особенностях конкретной задачи (проверка небольших студенческих программ, где решаются одинаковые задачи с помощью одинаковых алгоритмов), предложит метрики, разные способы проверки для определенных языков программирования и пр. Это в работе не прозвучало.