РАЗРАБОТКА СИСТЕМЫ ПРОВЕРКИ УНИКАЛЬНОСТИ ИСХОДНЫХ КОДОВ КОМПЬЮТЕРНЫХ ПРОГРАММ
|
ВВЕДЕНИЕ 6
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Плагиат исходного кода 8
1.2. Способы обнаружения плагиата исходного кода 9
1.3. Обзор существующих решений 10
1.3.1. Система «Антиплагиат» 10
1.3.2. MOSS 11
1.3.3. JPlag 12
1.4. Проблемы предметной области 12
2. АНАЛИЗ ТРЕБОВАНИЙ 14
2.1. Функциональные требования 14
2.2. Нефункциональные требования 14
2.3. Диаграмма прецедентов 15
3. ПРОЕКТИРОВАНИЕ 17
3.1. Архитектура системы 17
3.2. Используемые алгоритмы 18
3.2.1. Сравнение метрических характеристик 18
3.2.2. Сходство комментариев и строковых литералов 19
3.2.3. Сходство словарей идентификаторов 21
3.2.4. Алгоритм Хескела с хешированием 22
3.2.5. Метод отпечатков и метод просеивания 24
3.3. Графический интерфейс пользователя 25
4. РЕАЛИЗАЦИЯ 26
4.1. Средства реализации 26
4.2. Представление исходного кода 26
4.3. Компоненты предварительной обработки файлов 27
4.4. Абстрактный детектор 29
4.5. Детектор сходства метрик 30
4.6. Детекторы сходства комментариев и строковых литералов 32
4.7. Детекторы сходства словарей идентификаторов 33
4.8. Детектор совпадающих последовательностей токенов 34
4.9. Детектор сходств отпечатков 35
4.10. Реализация конфигуратора 35
4.11. Реализация графического интерфейса пользователя 36
4.12. Демонстрация работы программы на паре файлов 39
5. ТЕСТИРОВАНИЕ 42
5.1. Категории естественных тестов и определение точности 42
5.2. Тестирование алгоритмов выявления плагиата 43
5.3. Тестирование устойчивости алгоритмов 45
5.4. Тестирование графического интерфейса пользователя 46
ЗАКЛЮЧЕНИЕ 47
СПИСОК ЛИТЕРАТУРЫ 48
ПРИЛОЖЕНИЯ 51
Приложение 1 51
Приложение 2 54
Приложение 3 55
Приложение 4 58
Приложение 5
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Плагиат исходного кода 8
1.2. Способы обнаружения плагиата исходного кода 9
1.3. Обзор существующих решений 10
1.3.1. Система «Антиплагиат» 10
1.3.2. MOSS 11
1.3.3. JPlag 12
1.4. Проблемы предметной области 12
2. АНАЛИЗ ТРЕБОВАНИЙ 14
2.1. Функциональные требования 14
2.2. Нефункциональные требования 14
2.3. Диаграмма прецедентов 15
3. ПРОЕКТИРОВАНИЕ 17
3.1. Архитектура системы 17
3.2. Используемые алгоритмы 18
3.2.1. Сравнение метрических характеристик 18
3.2.2. Сходство комментариев и строковых литералов 19
3.2.3. Сходство словарей идентификаторов 21
3.2.4. Алгоритм Хескела с хешированием 22
3.2.5. Метод отпечатков и метод просеивания 24
3.3. Графический интерфейс пользователя 25
4. РЕАЛИЗАЦИЯ 26
4.1. Средства реализации 26
4.2. Представление исходного кода 26
4.3. Компоненты предварительной обработки файлов 27
4.4. Абстрактный детектор 29
4.5. Детектор сходства метрик 30
4.6. Детекторы сходства комментариев и строковых литералов 32
4.7. Детекторы сходства словарей идентификаторов 33
4.8. Детектор совпадающих последовательностей токенов 34
4.9. Детектор сходств отпечатков 35
4.10. Реализация конфигуратора 35
4.11. Реализация графического интерфейса пользователя 36
4.12. Демонстрация работы программы на паре файлов 39
5. ТЕСТИРОВАНИЕ 42
5.1. Категории естественных тестов и определение точности 42
5.2. Тестирование алгоритмов выявления плагиата 43
5.3. Тестирование устойчивости алгоритмов 45
5.4. Тестирование графического интерфейса пользователя 46
ЗАКЛЮЧЕНИЕ 47
СПИСОК ЛИТЕРАТУРЫ 48
ПРИЛОЖЕНИЯ 51
Приложение 1 51
Приложение 2 54
Приложение 3 55
Приложение 4 58
Приложение 5
Плагиат исходного кода программ встречается как в коммерческой среде, так и в сфере образования. Его использование в студенческих работах является одной из основных проблем образовательных учреждений. Присвоение чужих работ является нарушением академической этики и подрывает саму суть образовательного процесса.
Существует широкий набор источников исходного кода, доступных студентам: веб-сайты с примерами решений задач, репозитории проектов с открытым исходным кодом, учебная и справочная литература. Существуют также онлайн-ресурсы, где студенты могут нанимать опытных программистов для решения задач вместо них. Опасения академического сообщества по поводу чрезвычайной доступности исходных кодов регулярно выражаются в научных изданиях и на конференциях, например, [13] и [16]. Ограничение доступа студентов к этим источникам невозможно и неоправданно.
Отсюда следует, что обнаружение плагиата в исходных кодах программ студентов является актуальной задачей для преподавателей большинства дисциплин, связанных с прикладным программированием. Это указывает на необходимость разработки и внедрения в вузах специального инструментария - информационных систем поиска плагиата.
Целью данной работы является разработка системы проверки уникальности исходных кодов компьютерных программ.
Для достижения цели работы необходимо было решить следующие задачи:
- произвести анализ предметной области, изучить существующие алгоритмы поиска плагиата в исходном коде;
- произвести анализ требований к реализуемой системе;
- спроектировать систему поиска плагиата в исходном коде в соответствии с требованиями;
- реализовать спроектированную систему;
- выполнить тестирование реализованной системы.
Структура и объем работы
Работа состоит из введения, пяти глав, заключения, библиографии и семи приложений. Объем работы составляет 65 страниц, объем библиографии - 26 источников, объем приложений - 15 страниц.
В первой главе «Анализ предметной области» рассматривается предметная область проекта, приводится определение и классификация плагиата исходного кода и алгоритмов его обнаружения, приводится обзор существующих решений поиска плагиата.
Во второй главе «Анализ требований» определяются функциональные и нефункциональные требования к реализуемой в рамках проекта системе.
В третьей главе «Проектирование» определяются и описываются компоненты реализуемой в рамках проекта системы, описываются алгоритмы обнаружения плагиата для реализации.
В четвертой главе «Реализация» описаны технологии, применявшиеся для реализации системы, описаны основы реализации компонентов системы и различных детекторов плагиата.
В пятой главе «Тестирование» размещены отчеты о тестировании реализованной системы на естественных тестах и о функциональном тестировании интерфейса системы.
Существует широкий набор источников исходного кода, доступных студентам: веб-сайты с примерами решений задач, репозитории проектов с открытым исходным кодом, учебная и справочная литература. Существуют также онлайн-ресурсы, где студенты могут нанимать опытных программистов для решения задач вместо них. Опасения академического сообщества по поводу чрезвычайной доступности исходных кодов регулярно выражаются в научных изданиях и на конференциях, например, [13] и [16]. Ограничение доступа студентов к этим источникам невозможно и неоправданно.
Отсюда следует, что обнаружение плагиата в исходных кодах программ студентов является актуальной задачей для преподавателей большинства дисциплин, связанных с прикладным программированием. Это указывает на необходимость разработки и внедрения в вузах специального инструментария - информационных систем поиска плагиата.
Целью данной работы является разработка системы проверки уникальности исходных кодов компьютерных программ.
Для достижения цели работы необходимо было решить следующие задачи:
- произвести анализ предметной области, изучить существующие алгоритмы поиска плагиата в исходном коде;
- произвести анализ требований к реализуемой системе;
- спроектировать систему поиска плагиата в исходном коде в соответствии с требованиями;
- реализовать спроектированную систему;
- выполнить тестирование реализованной системы.
Структура и объем работы
Работа состоит из введения, пяти глав, заключения, библиографии и семи приложений. Объем работы составляет 65 страниц, объем библиографии - 26 источников, объем приложений - 15 страниц.
В первой главе «Анализ предметной области» рассматривается предметная область проекта, приводится определение и классификация плагиата исходного кода и алгоритмов его обнаружения, приводится обзор существующих решений поиска плагиата.
Во второй главе «Анализ требований» определяются функциональные и нефункциональные требования к реализуемой в рамках проекта системе.
В третьей главе «Проектирование» определяются и описываются компоненты реализуемой в рамках проекта системы, описываются алгоритмы обнаружения плагиата для реализации.
В четвертой главе «Реализация» описаны технологии, применявшиеся для реализации системы, описаны основы реализации компонентов системы и различных детекторов плагиата.
В пятой главе «Тестирование» размещены отчеты о тестировании реализованной системы на естественных тестах и о функциональном тестировании интерфейса системы.
В ходе выполнения выпускной квалификационной работы были выполнены следующие поставленные задачи:
1) изучены существующие алгоритмы поиска плагиата в исходном коде программ;
2) произведен анализ требований к системе проверки уникальности исходных кодов программ;
3) спроектирована система проверки уникальности исходных кодов в соответствии с требованиями;
4) реализована спроектированная система;
5) работа системы успешно протестирована.
1) изучены существующие алгоритмы поиска плагиата в исходном коде программ;
2) произведен анализ требований к системе проверки уникальности исходных кодов программ;
3) спроектирована система проверки уникальности исходных кодов в соответствии с требованиями;
4) реализована спроектированная система;
5) работа системы успешно протестирована.
Подобные работы
- Распределенная система автоматизированного тестирования алгоритмов обнаружения вредоносных программ
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4290 р. Год сдачи: 2016 - Особенности дистанционного обучения основам векторной графики
в дополнительном профессиональном образовании
Магистерская диссертация, дизайн. Язык работы: Русский. Цена: 5650 р. Год сдачи: 2020 - Распределенная система автоматизированного тестирования алгоритмов обнаружения вредоносных программ
Бакалаврская работа, программирование. Язык работы: Русский. Цена: 4550 р. Год сдачи: 2016 - Методика проектирования ИТ-инфраструктуры системы выявления мошенничества с банковскими кредитами среди юридических лиц
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4300 р. Год сдачи: 2020 - Развитие и внедрение систем управления доступом и учета времени на предприятии (на примере ООО «Parallax»)
Магистерская диссертация, менеджмент. Язык работы: Русский. Цена: 4855 р. Год сдачи: 2017 - Разработка и практическое применение нейронных сетей на фондовом рынке
Дипломные работы, ВКР, экономика. Язык работы: Русский. Цена: 4210 р. Год сдачи: 2020 - Разработка мессенджера со встроенным симметричным шифрованием для безопасной передачи сообщений в сети
Дипломные работы, ВКР, информационные системы. Язык работы: Русский. Цена: 4850 р. Год сдачи: 2017 - Разработка и оснащение операций технологического процесса изготовле-
ния детали "Штуцер", с визуальной верификацией траекторий обработки
Дипломные работы, ВКР, автоматика и управление. Язык работы: Русский. Цена: 4900 р. Год сдачи: 2021 - Гибридный языково-независимый статический анализ как элемент комплексной технологии программирования
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4365 р. Год сдачи: 2022





