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
Read Print Download
Internet Authorized users SPbPU
Read Print Download
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. Резюме
...