Тема: РАЗРАБОТКА СИСТЕМЫ АНАЛИЗА СХОЖЕСТИ ИСХОДНОГО КОДА ПРОГРАММНЫХ ПРОДУКТОВ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 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
ПРИЛОЖЕНИЕ
📖 Введение
Целью настоящей работы является решение проблемы плагиата исходного кода посредством разработки сервиса анализа разработанных студентами программ. Получив исходный код, система выполняет сборку проекта с использованием компилятора javac, а также инструмента Maven. Загрузка исходного кода возможна посредством обращения к системе контроля версий github. Отличительной особенностью разработанной системы является анализ байт-кода, полученного в результате компиляции программ на Java. Это позволит эффективно анализировать программы, где были изменены названия переменных, методов и классов.
Для разработки необходимо решить следующие задачи:
1. Проанализировать существующие решения;
2. Построить архитектуру приложения, реализовать серверную часть приложения с последующим размещением на удаленном сервере;
3. Вывести и протестировать приложение, проанализировать полученные результаты;
Анализ степени заимствования происходит по алгоритму “Расстояние Левенштейна” [3]. Файлы, загруженные в систему, сравниваются по вышеуказанному алгоритму с уже загруженными кодами.
Таким образом, разработанный сервис предоставит возможность оценить степень заимствования исходного кода программ, написанных на языке программирования Java, в самостоятельных работах учащихся.
✅ Заключение
Разработанное решение позволяет преподавателю получить информацию о результатах анализа Java-кода в двух режимах - стандартная файловая загрузка и взаимодействие с системами контроля версий.
В настоящий момент такое решение может быть применено в высших учебных заведениях.
В дальнейшем предполагается усовершенствование данного программного обеспечения, в частности, увеличение количества поддерживаемых языков программирования, а также использование механизмов машинного обучения.



