🔍 Поиск готовых работ

🔍 Поиск работ

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

Работа №197345

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы64
Год сдачи2018
Стоимость4640 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
24
Не подходит работа?

Узнай цену на написание


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

Плагиат исходного кода программ встречается как в коммерческой среде, так и в сфере образования. Его использование в студенческих работах является одной из основных проблем образовательных учреждений. Присвоение чужих работ является нарушением академической этики и подрывает саму суть образовательного процесса.
Существует широкий набор источников исходного кода, доступных студентам: веб-сайты с примерами решений задач, репозитории проектов с открытым исходным кодом, учебная и справочная литература. Существуют также онлайн-ресурсы, где студенты могут нанимать опытных программистов для решения задач вместо них. Опасения академического сообщества по поводу чрезвычайной доступности исходных кодов регулярно выражаются в научных изданиях и на конференциях, например, [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


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


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