Математическое и алгоритмическое обеспечение интеллектуального статического анализа программных систем для специализированных гетерогенных вычислительных платформ

Научная специальность 2.3.5. — Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей Диссертация на соискание учёной степени кандидата технических наук 

Автор
Горчаков Артём Владимирович
Год
2024
  • 99 000 UZS

Оглавление диссертации

Введение ....................................................................................................................................................... 4
Глава 1. Современные методы и алгоритмы интеллектуального статического анализа программных систем для выявления реализованных алгоритмов ..................................................... 11
1.1. Программные системы для гетерогенных вычислительных платформ ............................... 11
1.2. Поиск реализаций алгоритмов при разработке программных систем ................................. 13
1.3. Задача классификации текстов программ для определения реализованного алгоритма ... 15
1.4. Методы и алгоритмы преобразования текстов программ в векторные представления...... 16
1.4.1. Метод на основе word2vec............................................................................................ 16
1.4.2. Метод на основе code2vec ............................................................................................ 18
1.4.3. Метод на основе гистограмм кодов операций............................................................ 20
1.4.4. Метод на основе гистограмм типов вершин деревьев абстрактного синтаксиса ... 24
1.5. Оценка качества классификаторов........................................................................................... 26
1.6. Методы и алгоритмы классификации векторных представлений текстов программ......... 29
1.6.1. Метод k ближайших соседей........................................................................................ 29
1.6.2. Метод опорных векторов.............................................................................................. 30
1.6.3. Алгоритм случайного леса ........................................................................................... 32
1.6.4. Искусственные нейронные сети .................................................................................. 35
1.6.5. Машины экстремального обучения............................................................................. 38
1.7. Методы и алгоритмы кластеризации векторных представлений текстов программ.......... 40
1.8. Оценка качества разбиения набора объектов на кластеры.................................................... 41
1.9. Алгоритмы поиска наилучших значений параметров методов и алгоритмов..................... 42
1.9.1. Генетические алгоритмы.............................................................................................. 42
1.9.2. Роевые алгоритмы......................................................................................................... 44
1.10. Выводы по главе 1 ................................................................................................................... 46
Глава 2. Методы и алгоритмы повышения качества анализа текстов программ ..................... 48
2.1. Методы и алгоритмы преобразования текстов программ в векторные представления
на основе цепей Маркова.......................................................................................................... 48
2.2. Определение решаемой задачи по тексту программы ........................................................... 54
2.2.1. Многоклассовая классификация для определения решаемой программой задачи 54
2.2.2. Оценка качества классификаторов программ ............................................................ 58
2.2.3. Чувствительность векторных представлений программ к классификатору ........... 69
2.3. Бинарная классификация для обнаружения семантического сходства программ .............. 72
2.4. Выявление подходов к решению задач в наборе текстов программ .................................... 74
2.4.1. Разбиение набора программ на кластеры на основе реализованных алгоритмов .. 74
3
2.4.2. Оценка качества разбиений набора текстов программ на кластеры........................ 77
2.5. Алгоритм непрерывной оптимизации параметров методов и алгоритмов.......................... 79
2.5.1. Модифицированный алгоритм оптимизации на основе поиска косяком рыб ........ 79
2.5.2. Оценка качества алгоритмов непрерывной оптимизации......................................... 86
2.6. Выводы по главе 2 ..................................................................................................................... 89
Глава 3. Методы и алгоритмы вынесения рекомендаций по ускорению программ.................. 91
3.1. Методика вынесения рекомендаций по повышению скорости выполнения программ..... 91
3.2. Методы и алгоритмы поиска фрагментов текстов программ по программе-примеру ....... 93
3.2.1. Алгоритм сравнения текстов программ на основе вычисления расстояния между
их векторными представлениями на основе цепей Маркова для деревьев абстрактного синтаксиса и графов «определение-использование» и оценки их цикломатической сложности........................................................................................................... 93
3.2.2. Оценка качества векторных представлений текстов программ на основе цепей
Маркова для деревьев абстрактного синтаксиса и графов «определение-использование»............................................................................................................................ 100
3.2.3. Алгоритм поиска фрагментов текстов программ по программе-примеру ............ 102
3.2.4. Оценка качества алгоритма поиска фрагментов текстов программ....................... 104
3.3. Результаты применения методики вынесения рекомендаций по ускорению программ .... 108
3.4. Выводы по главе 3 ..................................................................................................................... 113
Глава 4. Методы и алгоритмы учёта учебных достижений в курсах по программированию115
4.1. Методика учёта учебных достижений в массовых курсах по программированию ............ 115
4.2. Методы и алгоритмы выявления и определения способов решения учебных задач.......... 118
4.2.1. Выявление способов решения задач на основе кластеризации программ ............ 118
4.2.2. Определение способов решения задач на основе классификации программ........ 126
4.2.3. Автоматический учёт учебных достижений............................................................. 130
4.3. Выводы по главе 4 ..................................................................................................................... 133
Заключение.............................................................................................................................................. 135
Список сокращений и условных обозначений ................................................................................. 138
Список литературы ............................................................................................................................... 141
Список рисунков .................................................................................................................................... 162
Список таблиц ........................................................................................................................................ 166
Приложение А. Типы задач, генерируемых Цифровым ассистентом преподавателя ............. 168
Приложение Б. Параметры классификаторов и результаты оценки их качества ................... 169
Приложение В. Свидетельства о государственной регистрации программ для ЭВМ............. 171
Приложение Г. Акты о внедрении результатов диссертации ....................................................... 174

Рекомендуем вам товары

99 000 UZS
Автор
ДЬЯЧЕНКО Татьяна Анатольевна
Количество страниц
165
Год
2024
99 000 UZS
Автор
Димитриев Руслан Степанович
Количество страниц
261
Год
2024
99 000 UZS
Автор
Дмитриева Мария Валерьевна
Количество страниц
189
Год
2024
99 000 UZS
Автор
Жеребненко Анна Вячеславовна
Количество страниц
191
Год
2024
99 000 UZS
Автор
Иванова Татьяна Константиновна
Количество страниц
174
Год
2024
Модули для Opencart 2, Опенкарт 3