Details
| Title | Разработка менеджера оптимизирующих и анализирующих проходов библиотеки анализа Java байт-кода «KFG»: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_02 «Технологии разработки программного обеспечения» = Pass manager development for Java byte-code optimization and analysis library "KFG" |
|---|---|
| Creators | Сахибгареев Рамис Ринатович |
| Scientific adviser | Ахин Марат Халимович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий |
| Imprint | Санкт-Петербург, 2022 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | компиляторы ; Java байт-код ; менеджер проходов ; оптимизация кода ; анализ кода ; сompilers ; Java byte-code ; pass manager ; source code optimization ; source code analysis |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.01 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2022/vr/vr22-1000 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Record key | ru\spstu\vkr\17155 |
| Record create date | 7/27/2022 |
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 байт-кода "KFG"». В данной работе изложены результаты поиска и анализа существующих решений, а также реализация менеджера проходов библиотеки KFG. Задачи, решаемые в ходе выполнения работы: Изучение существующих решений менеджера проходов. Разработка подхода работы с конвейером проходов и зависимостями. Разработка менеджера проходов библиотеки KFG. Тестирование и интеграция новой версии KFG в инструмент автоматической генерации тестов KEX. В результате были исследованы существующие решения в LLVM и GCC и разработан менеджер прохода с составлением валидной и квазиоптимальной очереди проходов, кэширования результатов анализа, удобными средствами создания конвейера проходов, а также произведена интеграция в KEX.
The subject of the undergraduate qualification work is «Pass manager development for Java byte-code optimization and analysis library "KFG"». This work presents the results of the search and analysis of existing solutions, as well as the implementation of the pass manager for KFG library. During this work the next tasks were solved: Studying existing implementations of pass manager.Development of an approach for working with a pipeline of passes and dependencies. Development of Pass Manager for KFG library. Testing and integrating a new version of KFG into platform for automatic test generation KEX. As a result, the pass manager was implemented in accordance with the developed approach for the pipeline and dependencies usage. An evaluation of the convenience of the new version of KFG by integration into an existing project was made, as a result of which a decision was made on the applicability of the created approach.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|
- 1. Обзор
- 1.1. Проблема и актуальность
- 1.2. Существующие аналоги
- 1.2.1. LLVM Legacy Pass Manager
- 1.2.2. LLVM New Pass Manager
- 1.2.3. GCC Pass Manager
- 1.3. Резюме
- 2. Требования к разработке
- 3. Описание менеджера проходов в KFG
- 3.1. Разработка алгоритмов построения квазиоптимальной очереди исполнения проходов
- 3.2. Общие свойства алгоритмов на основе BFS
- 3.3. Алгоритм Best-First Search
- 3.4. Алгоритм Iterative BFS
- 3.5. Алгоритм Iterative BFS+
- 3.6. Оценка алгоритмов оптимизации
- 3.7. Резюме
- 4. Разработка менеджера проходов в KFG
- 4.1. Описание существующей на начало работы архитектуры проходов библиотеки KFG
- 4.2. Реализация менеджера проходов в библиотеке KFG
- 4.3. Резюме
- 5. Тестирование
- 5.1. Тестирование менеджера проходов в KFG
- 5.2. Интеграция менеджера проходов в KEX
- 5.3. Резюме