Введение
Глава 1. АНАЛОГИЧНЫЕ РЕШЕНИЯ 5
1.1. Система “Антиплагиат” 5
1.2. Проект “NoCrib” 6
Глава 2. АРХИТЕКТУРА РАЗРАБАТЫВАЕМОЙ СИСТЕМЫ 7
2.1. Язык программирования Java 7
2.2. Maven 9
2.3. Фреймворк Spring 11
2.4. Структура приложения 15
2.5. Функционал приложения 21
2.6. Алгоритм и логика сравнения проектов 24
ЗАКЛЮЧЕНИЕ 25
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 26
ПРИЛОЖЕНИЕ
На сегодняшний день проблема плагиата получила широкое распространение в образовании. В результате плагиата в образовательном процессе происходит нарушение авторских прав и ухудшение качества образования. Преподаватель лишается возможности объективно оценить уровень знаний студентов. В ВУЗах, подготавливающих будущих IT- специалистов, результатом самостоятельной работы студентов является готовый программный продукт.
Целью настоящей работы является решение проблемы плагиата исходного кода посредством разработки сервиса анализа разработанных студентами программ. Получив исходный код, система выполняет сборку проекта с использованием компилятора javac, а также инструмента Maven. Загрузка исходного кода возможна посредством обращения к системе контроля версий github. Отличительной особенностью разработанной системы является анализ байт-кода, полученного в результате компиляции программ на Java. Это позволит эффективно анализировать программы, где были изменены названия переменных, методов и классов.
Для разработки необходимо решить следующие задачи:
1. Проанализировать существующие решения;
2. Построить архитектуру приложения, реализовать серверную часть приложения с последующим размещением на удаленном сервере;
3. Вывести и протестировать приложение, проанализировать полученные результаты;
Анализ степени заимствования происходит по алгоритму “Расстояние Левенштейна” [3]. Файлы, загруженные в систему, сравниваются по вышеуказанному алгоритму с уже загруженными кодами.
Таким образом, разработанный сервис предоставит возможность оценить степень заимствования исходного кода программ, написанных на языке программирования Java, в самостоятельных работах учащихся.
Результатом настоящей работы стал онлайн-сервис проверки заимствований исходного кода программного обеспечения.
Разработанное решение позволяет преподавателю получить информацию о результатах анализа Java-кода в двух режимах - стандартная файловая загрузка и взаимодействие с системами контроля версий.
В настоящий момент такое решение может быть применено в высших учебных заведениях.
В дальнейшем предполагается усовершенствование данного программного обеспечения, в частности, увеличение количества поддерживаемых языков программирования, а также использование механизмов машинного обучения.