📄Работа №197345

Тема: РАЗРАБОТКА СИСТЕМЫ ПРОВЕРКИ УНИКАЛЬНОСТИ ИСХОДНЫХ КОДОВ КОМПЬЮТЕРНЫХ ПРОГРАММ

Характеристики работы

Тип работы Дипломные работы, ВКР
Информатика и вычислительная техника
Предмет Информатика и вычислительная техника
📄
Объем: 64 листов
📅
Год: 2018
👁️
Просмотров: 47
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

ВВЕДЕНИЕ 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

📖 Аннотация

В данной работе представлена разработка системы проверки уникальности исходных кодов компьютерных программ, предназначенной для выявления плагиата в академической среде. Актуальность исследования обусловлена широкой распространенностью заимствования кода в студенческих работах, что нарушает принципы академической честности и требует от образовательных учреждений внедрения специализированного инструментария. Основными результатами стали анализ предметной области и алгоритмов обнаружения плагиата, проектирование и реализация системы, интегрирующей методы сравнения метрических характеристик, анализ словарей идентификаторов и алгоритм просеивания (Winnowing), а также успешное тестирование её функциональности. Научная значимость заключается в систематизации и адаптации алгоритмов детекции плагиата, а практическая — в создании рабочего инструмента для преподавателей, способствующего повышению качества проверки учебных заданий. В рамках обзора литературы рассматриваются подходы, описанные в работах Aiken et al. (алгоритм Winnowing), Cosma и Joy (определение плагиата исходного кода), а также Baxter et al. (обнаружение клонов с использованием абстрактных синтаксических деревьев).

📖 Введение

Плагиат исходного кода программ встречается как в коммерческой среде, так и в сфере образования. Его использование в студенческих работах является одной из основных проблем образовательных учреждений. Присвоение чужих работ является нарушением академической этики и подрывает саму суть образовательного процесса.
Существует широкий набор источников исходного кода, доступных студентам: веб-сайты с примерами решений задач, репозитории проектов с открытым исходным кодом, учебная и справочная литература. Существуют также онлайн-ресурсы, где студенты могут нанимать опытных программистов для решения задач вместо них. Опасения академического сообщества по поводу чрезвычайной доступности исходных кодов регулярно выражаются в научных изданиях и на конференциях, например, [13] и [16]. Ограничение доступа студентов к этим источникам невозможно и неоправданно.
Отсюда следует, что обнаружение плагиата в исходных кодах программ студентов является актуальной задачей для преподавателей большинства дисциплин, связанных с прикладным программированием. Это указывает на необходимость разработки и внедрения в вузах специального инструментария - информационных систем поиска плагиата.
Целью данной работы является разработка системы проверки уникальности исходных кодов компьютерных программ.
Для достижения цели работы необходимо было решить следующие задачи:
- произвести анализ предметной области, изучить существующие алгоритмы поиска плагиата в исходном коде;
- произвести анализ требований к реализуемой системе;
- спроектировать систему поиска плагиата в исходном коде в соответствии с требованиями;
- реализовать спроектированную систему;
- выполнить тестирование реализованной системы.
Структура и объем работы
Работа состоит из введения, пяти глав, заключения, библиографии и семи приложений. Объем работы составляет 65 страниц, объем библиографии - 26 источников, объем приложений - 15 страниц.
В первой главе «Анализ предметной области» рассматривается предметная область проекта, приводится определение и классификация плагиата исходного кода и алгоритмов его обнаружения, приводится обзор существующих решений поиска плагиата.
Во второй главе «Анализ требований» определяются функциональные и нефункциональные требования к реализуемой в рамках проекта системе.
В третьей главе «Проектирование» определяются и описываются компоненты реализуемой в рамках проекта системы, описываются алгоритмы обнаружения плагиата для реализации.
В четвертой главе «Реализация» описаны технологии, применявшиеся для реализации системы, описаны основы реализации компонентов системы и различных детекторов плагиата.
В пятой главе «Тестирование» размещены отчеты о тестировании реализованной системы на естественных тестах и о функциональном тестировании интерфейса системы.

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе выполнения выпускной квалификационной работы были выполнены следующие поставленные задачи:
1) изучены существующие алгоритмы поиска плагиата в исходном коде программ;
2) произведен анализ требований к системе проверки уникальности исходных кодов программ;
3) спроектирована система проверки уникальности исходных кодов в соответствии с требованиями;
4) реализована спроектированная система;
5) работа системы успешно протестирована.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. Aiken A., Schleimer S., Wikerson D. Winnowing: local algorithms for document fingerprinting. // ACMSIGMOD Int. Conference on Management of Data, San Diego, CA, June 9-12, 2003, Proceedings. - ACM Press, New York, USA, 2003. - P. 76-85.
2. ANTLR. [Электронный ресурс] URL: http://www.antlr.org/in- dex.html (дата обращения: 26.04.2018).
3. ANTLR. Grammars-V4. C#. [Электронный ресурс] URL: https://github.com/antlr/grammars-v4/tree/master/csharp (дата обращения: 26.04.2018).
4. Baxter I., Yahin A., Moura L. Clone Detection Using Abstract Syntax Trees. / Sant’Anna M., Bier L. // ICSM, Bethesda, Maryland, November 16-20, 1998, Proceedings. - IEEE Computer Society, 1998. - P. 368-377.
5. Cosma G., Joy M. Towards a Definition of Source-Code Plagiarism, // IEEE Trans. Educ., May 2008. - Vol. 51. - No. 2. - P. 195-200. [Электронный ресурс] URL: http://ieeexplore.ieee.org/document/4455461/ (дата обращения: 26.04.2018).
6. GitHub Data. Big Query. Google Cloud. [Электронный ресурс] URL: https://cloud.google.com/bigquery/public-data/github (дата обращения: 26.04.2018).
7. Heckel P. A Technique for Isolating Differences Between Files. // Communications of the ACM. - April 1978. - No. 21(4). - P. 264-268.
8. Huang X., Hardison R. C., Miller W. A space-efficient algorithm for local similarities. // Computer Applications in the Biosciences. - 1990. - No. 6. - P. 373-381.
9. Institute for Program Structures and Data Organization. [Электронный ресурс] URL: https://jplag.ipd.kit.edu/ (дата обращения: 26.04.2018).
10. JavaCC - The Java Parser Generator. [Электронный ресурс] URL: https://javacc.org/ (дата обращения: 26.04.2018).
11. JavaFX Developer Home. [Электронный ресурс] URL:
http: //www. oracle. com/technetwork/j ava/j avase/overview/j avafX-overview- 2158620.html (дата обращения: 26.04.2018).
12. Karp R. M., Rabin M. O. Efficient randomized pattern-matching algorithms. // IBM J. of Research and Development. - March 1987. - No. 31(2).
- P. 249-260.
13. Kasprzak J., Nixon M., “Cheating in cyberspace: Maintaining quality in online education,” // Assoc. Adv. Comput. Educ. - 2004. - Vol. 12. - No. 1.
- P. 85-99.
14. Moussiades L. M., Vakali A. PDetect: A Clustering Approach for Detecting Plagiarism in Source Code Datasets. // The Computer Journal. - November 1, 2005. - Vol. 48. - No. 6. - P. 651-661.
15. Plagiarism Detection. [Электронный ресурс] URL: http://theory.stanford.edu/~aiken/moss/ (дата обращения 26.04.2018).
...26

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.
Предоставляемые услуги, в том числе данные, файлы и прочие материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Укажите ник или номер. После оформления заказа откройте бота @workspayservice_bot для подтверждения. Это нужно для отправки вам уведомлений.

©2026 Cервис помощи студентам в выполнении работ