Детальная информация
Название | Разработка и реализация методов устранения клонов программного кода: магистерская диссертация: 09.04.01 |
---|---|
Авторы | Бродт Игорь Иванович |
Научный руководитель | Ицыксон Владимир Михайлович |
Организация | Санкт-Петербургский политехнический университет Петра Великого |
Выходные сведения | Санкт-Петербург, 2017 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | Информация — Защита ; Вычислительные системы — Обеспечение сохранности данных ; дублирование кода ; программные клоны ; методы устранения клонов |
УДК | 004.7.056.5(043.3) |
Тип документа | Выпускная квалификационная работа магистра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Магистратура |
Код специальности ФГОС | 09.04.01 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/2/v17-5099 |
Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Ключ записи | RU\SPSTU\edoc\46111 |
Дата создания записи | 26.10.2017 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
Целью этой магистерской диссертации является разработка и демонстрация работы комбинированного метода устранения программных клонов. Дублирование кода в программах встречается довольно часто, поэтому задача по их устранению очень актуальна на сегодняшний день. В данном документе рассматриваются и анализируются различные способы рефакторинга кода, способствующие устранению клонов. Определяются критерии эффективности и применимости того или иного метода к участкам клонов. А также описывается ход построения метамодели, предназначенной для анализа и модификации исходного кода. Процесс устранения клонов разделяется на два этапа и для каждого из них представлен алгоритм.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
- ВВЕДЕНИЕ
- 1. Анализ подходов к устранению клонов программного кода
- 1.1. Понятие программного клона. Дублирование кода
- 1.1.1. Типы клонов
- 1.2. Причины появления программных клонов
- 1.2.1. Использование C&P-программирования
- 1.2.2. Использование систем и платформ, не придерживающихся принципа DRY
- 1.2.3. Обеспечение требований к производительности ПО
- 1.2.4. Незнание о существовании уже готовых решений
- 1.3. Синтаксический подход к устранению клонов
- 1.4. Семантический подход к устранению клонов
- 1.5. Обзор готовых программных решений для устранения клонов программного кода
- 1.6. Вывод
- 1.1. Понятие программного клона. Дублирование кода
- 2. Постановка задачи
- 2.1. Формулировка требований
- 2.2. Решаемые задачи
- 2.3. Вывод
- 3. Разработка комбинированного метода устранения клонов
- 3.1. Методы устранения программных клонов
- 3.1.1. Извлечение метода (Extract method)
- 3.1.2. Подъём метода (Pull up method)
- 3.1.3. Подъём поля (Pull up field)
- 3.1.4. Подъём тела конструктора (Pull up constructor body)
- 3.1.5. Извлечение суперкласса (Extract superclass)
- 3.1.6. Извлечение класса (Extract class)
- 3.1.7. Объединение условных операторов (Consolidate Conditional Expression)
- 3.1.8. Объединение дублирующихся фрагментов в условных операторах (Consolidate Duplicate Conditional Fragments)
- 3.1.9. Извлечение одинаковых фрагментов клона в лямбда-выражение
- 3.1.10. Извлечение различных фрагментов клона в лямбда-выражение
- 3.1.11. Использование функционального интерфейса Predicate
- 3.1.12. Извлечение клонов в объект
- 3.2. Определение входных данных
- 3.2.1. Критерии эффективности
- 3.2.2. Критерии применимости
- 3.3. Разработка алгоритма устранения клонов
- 3.3.1. Создание рабочей модели
- 3.3.2. Определение метода рефакторинга
- 3.3.3. Применение метода рефакторинга
- 3.4. Вывод
- 3.1. Методы устранения программных клонов
- 4. Реализация разработанного метода устранения клонов в виде Java библиотеки
- 4.1. Средства разработки
- 4.2. Построение модели кода
- 4.2.1. Построение АСД
- 4.2.2. Построение АСГ, добавление зависимостей по данным
- 4.2.3. Определение возвращаемых выражениями типов
- 4.2.4. Класс <
>
- 4.3. Объекты - клон и клоновая группа
- 4.4. Класс <
> - 4.4.1. Класс для сравнения выражений
- 4.5. Вывод
- 5. Тестирование Java библиотеки устранения клонов
- 5.1. Программа тестирования
- 5.2. Методика тестирования
- 5.2.1. Примеры для тестирования
- 5.2.2. Подготовка тестовой среды
- 5.2.3. Протокол испытаний
- 5.3. Выводы
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. Фрагменты текста программы разработанной Java библиотеки
Количество обращений: 273
За последние 30 дней: 0