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

🔍 Поиск работ

Антиплагиат исходных кодов

Работа №201500

Тип работы

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

Предмет

программирование

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

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


Аннотация 2
ВВЕДЕНИЕ 10
Актуальность темы 10
Цель работы 11
Задачи работы 12
Объект работы 12
Результаты работы 12
Обзор существующих решении 12
1 ОБЗОР ТЕХНОЛОГИЙ РАЗРАБОТКИ ДЕТЭКТОРА ПЛАГИАТА 14
1.1. Обзор технологий программирования систем поиска плагиата 14
1.1.1. Атрибутные методы 14
1.1.2. Структурные методы 16
1.1.2.1. Строковое выравнивание 21
1.1.2.2. Метод поиска на XML-представлении 21
1.1.2.3. Использование приближения Колмогоровской
сложности 22
1.1.2.4. Метод идентификационных меток 23
1.1.3. Нейросетевые методы обнаружения плагиата 25
1.1.4. Другие методы 25
1.2. Детальный обзор существующих решений 26
1.2.1. SIM 27
1.2.2. Plan-X 27
1.2.3. JPlag 27
1.2.4. MOSS 28
1.2.5. SID 28
2. ПЛАНИРОВАНИЕ 29
2.1. Обоснование выбора языка программирования 29
2.1.1. Язык программирования C++ 29
2.1.2. Язык программирования Visual Basic 29
2.1.3. Язык программирования Java 30
2.1.4. Язык программирования C# и платформа .NET 30
2.2. Обоснование выбора операционной системы 32
2.2.1. OC Windows 32
2.3. Обоснование выбора среды разработки 33
2.4. Сценарии использования 34
2.4.1. Сценарий загрузки файла 35
2.4.2. Сценарий выбора файлов для сравнения 36
2.4.3. Сценарий настроек 37
2.4.4. Справка 38
2.4.5. Запуск 38
2.5. Требования к операционной системе 40
2.6. Требование к аппаратной части 40
3. ПРОЕКТИРОВАНИЕ СИСТЕМЫ 41
3.1. Проектирование библиотеки инструментов системы 41
3.2. Программирование алгоритмов сравнения 41
3.2.1. Сравнение по строкам 42
3.2.2. Метод идентификационных меток 42
3.2.3. Сравнение стилей программирования 44
3.3. Разработка интерфейса 44
4. РЕАЛИЗАЦИЯ СИСТЕМЫ 45
4.1. Библиотека инструментов обработки текстов 45
4.2. Интерфейс 48
5. ТЕСТИРОВАНИЕ 53
5.1. Функциональное тестирование 53
5.2. Тестирование интерфейса 54
ЗАКЛЮЧЕНИЕ 57
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 58



Актуальность темы. В современном мире идет борьба за права интеллектуальной собственности. Из-за всеобщей доступности к любым авторским источникам участились случаи заимствования чужих работ. Плагиат часто можно наблюдать в студенческих работах, в коммерческой и даже в научно-исследовательской сфере.
Появилась потребность в защите авторских прав. Но в связи с тем, что объемы работ постоянно увеличиваются, а также увеличивается их количество, соответственно уследить за всеми нарушениями прав собственности становится сложнее, а парой и вовсе невозможно. Защита авторских прав, инспектирование и проверки авторства становится труднее.
Отсюда можно сделать вывод, что требуется система для сравнения работ и выявления плагиата. Кроме того, такая система должна быть автоматической, ведь однотипных работ бывает очень много, искать и проверять каждую вручную будет сложно.
Но прежде чем разбираться каким образом можно искать плагиат разберем, что он вообще из себя представляет.
Различные определения плагиата:
• Плагиат - -а, м. Выдача чужого произведения за своё или незаконное опубликование чужого произведения под своим именем, присвоение авторства. [1]
• Плагиат - Вид нарушения авторских прав [2], состоит в незаконном использовании под своим именем чужого произведения (научного, литературного, музыкального) или изобретения, рационализаторского предложения (полностью или частично) без указания источника заимствования [2] . Принуждение к соавторству также рассматривается как плагиат [3].
• Плагиат - умышленное присвоение авторства на чужое произведение науки, литературы или искусства. Не считается плагиатом заимствование темы или
сюжета произведения либо научных идеи, составляющих его содержание, без заимствования формы их выражения.) [Глоссарий.гн]
Данные определения выражают суть термина «плагиат», но тем не менее, наиболее четкими являются юридические определения.
Теперь, когда мы определились с понятием плагиата и сделали вывод, что закрывать глаза на данный вопрос нельзя, можно задаться вопросом «А как же искать этот плагиат?».
Существует множество программ и программных комплексов для поиска плагиата, например, AntiPlagiat.ru [4] - детектор, который доступен в режиме онлайн. Данный сервис сравнивает проверяемую работу с источниками из Интернета и базами научных статей и рефератов. Еще пример, существует пакет «Антиплагиат.ВУЗ» [5] - это также детектор, который доступен онлайн. С помощью него проверяются на заимствования студенческие лабораторные работы, рефераты, курсовые работы, научные статьи, дипломные проекты и т. д.
Но у всех подобных систем есть один недостаток, они работаю только с работами, написанными на естественном языке, а как известно заимствование может быть и в области программирования. И тут перечисленные детекторы плагиата бессильны. В текст программного кода входят имена переменных, функций, методов, классов, структур и т. д. И всё это никак не влиять на сущность программы, их можно пере называть как угодно и программа не станет работать по-другому. За то внешний вид программы изменится сильно. Более того, некоторые куски кода можно менять местами, писать в другом виде и тоже программа не станет работать по-другому, но код будет изменен до неузнаваемости.
Цель работы. Из вышесказанного можно сформулировать цель. Требуется создать систему, которая будет искать плагиат в исходных кода. Система должна работать в автоматическом режиме, то есть сравнение кодов должно осуществляется по принципу одна программа со многими. При проверки программного кода не должны учитываться незначительные фрагменты, такие как имена переменных и функций, имена классов и структур. Изменения в расположение фрагментов кода также не должно влиять на проверку.
Задачи работы:
• изучить опыт разработок в области поиска плагиата в исходных кодах;
• изучить методы сравнения исходных кодов друг с другом для выявления похожих элементов;
• определить проблемы и особенности при создании системы поиска плагиата;
• описать процесс сравнения исходных кодов;
• определить эффективность работы;
Объект работы - этапы создания системы «Антиплагиат исходных кодов»
Результаты работы - система, позволяющая сравнивать исходные коды, не учитывая незначимые в программах фрагменты.
Обзор существующих решений.
Составим общую таблицу некоторых существующих детекторов плагиата для работы с исходными кодами. Укажем в таблице следующие столбцы: название детекторов, имя автора, основная идея, поддерживаемые языки программирования и доступность. Фактически, только три из перечисленные ниже работоспособны на данный момент. Подробно о них будет описано в разделе [1.2].



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

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

Помощь в написании работ!


Целью работы являлась разработка системы Антиплагиат исходных кодов.
Для достижения данной цели были решены следующие задачи:
• Изучены технологии программирования алгоритмов поиска плагиата исходных кодов
• Произведен обзор существующих решений
• Выбран язык программирования C#
• Выбрана платформ реализации Windows
• Выбрана среда разработка Visual Studio
• Определены требования к операционной системе
• Спроектирована система Антиплагиат исходных кодов
• Разработаны алгоритмы сравнения
• Разработан интерфейс
Поставленные задачи успешно выполнены, цель достигнута. Простой интерфейс программы не вызовет трудности для начинающего пользователя. В дальнейшем планируется развитие системы в сторону добавление новых алгоритмов поиска плагиата, повышения точности работы.
В ближайшем будущем планируется реализовать еще два алгоритма сравнения, указанных в пункте [3.2].



1. Ожегов, С. И. Словарь русского языка. - Москва: «РУССКИЙ ЯЗЫК», 1986. - 797 стр.
2. Синельников, C.M. Энциклопедия предпринимателя. - СПб., 1994.
3. Сухарева, А.Я., Крутских, В.Е. Большой юридический словарь. - М., 2002.
4. Интернет-сервис Антиплагиат.Ру [Электронный ресурс]. - Режим доступа -
URL: http://www.antiplagiat.ru/index.aspx.
5. Антиплагиат.ВУЗ [Электронный ресурс]. - Режим доступа - URL: http://susu.antiplagiat.ru/index.aspx.
6. J. L .Donaldson, A. Lancaster and Р. H. Sposato, A plagiarism detection system, ACM SIGSCI Bulletin 13(1), February 1981 - pp(21-25).
7. West A. Copying with plagiarism in Computer Science teaching laboratories, Computers in Teaching Conference. - Dublin, 1995.
8. Prechelt. L., Malpohl, G., Philippsen M., JPlag: Finding Plagiarisms among a Set of Programs, Technical Report 2000-1, Fakultat fur Informatik, Universitat Karlsruhe, 2000.
9. Schleimer S., Wilkerson D. S., Aiken A. Winnowing: local algorithms for document fingerprinting, Proceedings of the 2003 ACM SIGMOD international conference on Management of data. - San Diego, California, June 09-12, 2003.
10. Whale G. Identification of program Similarity in Large Populations, The Computer Journal, Vol.33. - Number 2, 1990.
11 .Fotel C., Langer L. A Plagiarism Detection Tool. - May 19, 2004.
12. M. Joy and Michael Luck, Plagiarism in Programming Assignments, IEEE Transactions on education. AMI. 42, NO. 2, May 1999.
13. Chen X., Francia B., Li M., Mckonnon B., Seker A. Shared information and program plagiarism detection. - U niversity of California, Santa Barbara, December 13, 2003.
14. Udi Manber and Brenda S. Baker, Deducing similarities in Java sources from bytecode, 1998 USENIX Technical Conference. - New Orleans, June 1998.
15. David Gitchell and Nicholas Tran, Sim: A utility for detecting simile,rity in computer programs, Wichita State Univercity..37


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




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