Таблица | Карточка | RUSMARC | |
Разрешенные действия: –
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа: Анонимные пользователи Сеть: Интернет |
Аннотация
Магистерская работа посвящена исследованию возможности применения искусственных нейронных сетей в задаче поиска клонов в исходном коде программ. Исследование было проведено на основе проектов с открытым исходным кодом, которые написаны на языке программирования Java. В ходе проведения данного исследования был разработан прототип инструмента для поиска дубликатов в исходном коде программы. Разработанный прототип был протестирован на специальной выборке - BigCloneBench. Тестирование показало целесообразность использования метода интеллектуального поиска клонов.
Права на использование объекта хранения
Место доступа | Группа пользователей | Действие | ||||
---|---|---|---|---|---|---|
Локальная сеть ИБК СПбПУ | Все | |||||
Интернет | Авторизованные пользователи СПбПУ | |||||
Интернет | Анонимные пользователи |
Оглавление
- ВВЕДЕНИЕ
- 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. Итоги раздела
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ. ЛИСТИНГИ
Статистика использования
Количество обращений: 120
За последние 30 дней: 1 Подробная статистика |