Тема: РАЗРАБОТКА СИСТЕМЫ ПРОВЕРКИ СХОЖЕСТИ ИСХОДНЫХ ТЕКСТОВ ПРОГРАММ С ТОЧКИ ЗРЕНИЯ СТРУКТУРЫ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1. Анализ алгоритмов поиска плагиата 5
§1.1. Проблема плагиата 5
§1.2. Описание методов выявления плагиата 9
§1.3. Анализ существующих решений 16
§1.4. Требования к решению 18
Глава 2. Построение модели 21
§2.1. Абстрактное синтаксическое дерево 21
§2.2. Идея решения 23
§2.3. Векторное представление 25
§2.4. Долговременная краткосрочная память 30
§2.5. Процесс классификации 34
Глава 3. Численные эксперименты 37
§3.1. Программная реализация 37
§3.2. Исходные данные 40
§3.3. Оценка модели 41
§3.4. Сравнение с аналогами 45
Заключение 49
Список литературы 50
Приложение
📖 Введение
Студенческий плагиат является одной из серьезных проблем образовательных учреждений [22]. Заимствованные фрагменты или даже полностью работы могут встречаться как в лабораторных работах, курсовых проектах, так и дипломных работах.
Однако, как быть, если результат работы представлен в виде программ на языках программирования высокого уровня? Ведь, исходные коды обладают собственной спецификой, так как изменение имен переменных или внесение дополнительных комментариев в код программы не влияют на выполнение программы, но при этом изменяют его текстовую составляющую. Следовательно, методики выявления заимствований в текстах на естественных языках неприменимы напрямую к текстам исходных кодов программ и необходимо расценивать исходный код с точки зрения синтаксического анализа.
Применение разрабатываемой системы (проверки идентичности исходных текстов программ) довольно многогранно. Одним из способов применения такой системы является обнаружение плагиата в исходных кодах программ. Данная задача является актуальной не только в коммерческой сфере, где идет серьезная борьба за интеллектуальную собственность, но и в сфере образования, где плагиат в студенческих работах является одной из основных проблем образовательных учреждений.
Целью данной работы является разработка системы проверки идентичности исходных текстов программ, которая могла бы выявлять случаи "списывания" программ, автоматически сравнивать исходные тексты и позволяла находить похожие или идентичные фрагменты в исходных кодах программ, оценивать степень обнаруженного сходства и наглядно представлять результат сравнения.
Для достижения указанной цели был поставлен ряд основных задач:
• Изучить существующие методики выявления заимствований, аналогичные решения.
• Построение синтаксического дерева для предложенного решения.
• Создание словаря, построение контекстных пар.
• Обучение модели, способной определить являются ли два текста программы схожими.
• Провести оценку модели и сравнительный анализ со существующими решениями.
✅ Заключение
В ходе выполнения данной работы было разработано программное обеспечение, которое позволит выявлять случаи "списывания" программ, автоматически сравнивать исходные тексты и позволяла находить похожие или идентичные фрагменты в исходных кодах программ, оценивать степень обнаруженного сходства и наглядно представлять результат сравнения.
Для достижения указанно цели были:
• исследованы существующие методики выявления заимствований исходного кода программ.
• рассмотрены различные типы изменений, вносимых в заимствованный исходный код, с целью сокрытия факта заимствования.
• построены представления исходного кода в виде абстрактного синтаксического дерева.
• выполнена проверка эффективности данного подхода по определению сходства. Проверка проводилась на наборе реальных студенческих проектов, представляющих решения практических заданий.



