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 PDF
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
Read Print Download
Internet Authorized users SPbPU
Read Print Download
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

Detailed usage statistics