Details
Title | Применение искусственных нейронных сетей для поиска клонов в исходном коде программ: выпускная квалификационная работа магистра: 09.04.01 - Информатика и вычислительная техника ; 09.04.01_15 - Технологии проектирования системного и прикладного программного обеспечения |
---|---|
Creators | Зорин Арсений Геннадьевич |
Scientific adviser | Ицыксон Владимир Михайлович |
Other creators | Новопашенный Андрей Гелиевич |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий |
Imprint | Санкт-Петербург, 2018 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | Нейронные сети ; Искусственный интеллект ; Информационно-поисковые системы ; машинное обучение |
UDC | 004.85.032.26 |
Document type | Master graduation qualification work |
File type | |
Language | Russian |
Level of education | Master |
Speciality code (FGOS) | 09.04.01 |
Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
Links | Отзыв руководителя ; Рецензия |
DOI | 10.18720/SPBPU/2/v18-4630 |
Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Record key | RU\SPSTU\edoc\56703 |
Record create date | 11/14/2018 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Магистерская работа посвящена исследованию возможности применения искусственных нейронных сетей в задаче поиска клонов в исходном коде программ. Исследование было проведено на основе проектов с открытым исходным кодом, которые написаны на языке программирования Java. В ходе проведения данного исследования был разработан прототип инструмента для поиска дубликатов в исходном коде программы. Разработанный прототип был протестирован на специальной выборке - BigCloneBench. Тестирование показало целесообразность использования метода интеллектуального поиска клонов.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
- ВВЕДЕНИЕ
- 1. Обзор и сравнительный анализ существующих подходов
- 1.1. Основные определения и классификация
- 1.2. Причины возникновения
- 1.2.1. Повторное использование
- 1.2.2. Подход к программированию
- 1.2.3. Преимущества поддержки ПО
- 1.2.4. Преодоление ограничений
- 1.2.5. Случайное клонирование
- 1.3. Преимущества обнаружения клонов и их дальнейшего рефакторинга
- 1.4. Критерии сравнения
- 1.5. Способы обнаружения клонов
- 1.5.1. Метод на основе анализа текста
- 1.5.2. Метод на основе анализа токенов
- 1.5.3. Метод на основе анализа синтаксических деревьев
- 1.5.4. Метод на основе анализа графов
- 1.5.5. Метод на основе программных метрик
- 1.5.6. Смешанные методы
- 1.5.7. Сравнение методов поиска клонов
- 1.6. Итоги раздела
- 2. Постановка задачи разработки интеллектуального метода обнаружения клонов и выбор пути решения
- 2.1. Задача разработки интеллектуального метода обнаружения клонов
- 2.2. Искусственные нейронные сети
- 2.2.1. Сеть прямого распространения
- 2.2.2. Нейронная сеть Хопфилда
- 2.2.3. Сверточная нейронная сеть
- 2.2.4. Рекуррентная нейронная сеть
- 2.2.5. Сравнительный анализ
- 2.3. Задача разработки прототипа инструмента
- 2.4. Итоги раздела
- 3. Разработка метода интеллектуального обнаружения клонов
- 3.1. Общая схема алгоритма
- 3.2. Предобработка
- 3.3. Преобразование
- 3.4. Обучение и использование нейронной сети
- 3.4.1. Выборка данных
- 3.4.2. Сиамская нейронная сеть
- 3.4.3. Sequence-to-Sequence
- 3.5. Постобработка
- 3.6. Итоги раздела
- 4. Разработка прототипа инструмента обнаружения клонов
- 4.1. Общая структура прототипа
- 4.2. Реализация модуля построения AST
- 4.2.1. Состав пакета trees
- 4.2.2. Состав пакета preproc
- 4.3. Реализация модуля обнаружения программных клонов
- 4.3.1. Состав файла model
- 4.3.2. Состав файла helpers
- 4.3.3. Состав файла clonesRecognition
- 4.4. Итоги раздела
- 5. Тестирование и анализ результатов
- 5.1. Описание тестовых данных
- 5.2. Описание тестовой платформы и конфигурации прототипа
- 5.3. Схема работы прототипа
- 5.4. Исследование показателей прототипа
- 5.5. Результаты тестирования
- 5.6. Итоги раздела
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ. ЛИСТИНГИ
Access count: 133
Last 30 days: 0