title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ° Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð¸ÑÑÑÑÐ¸Ñ Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÑÑÑÐ¸Ñ Ð¿ÑÐ¾Ñ Ð¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Java Ð±Ð°Ð¹Ñ-ÐºÐ¾Ð´Ð° Â«KFGÂ»
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Pass manager development for Java byte-code optimization and analysis library "KFG"
Creators: name: Ð¡Ð°ÑÐ¸Ð±Ð³Ð°ÑÐµÐµÐ², Ð Ð°Ð¼Ð¸Ñ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2022
Subjects: ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÑ
Java Ð±Ð°Ð¹Ñ-ÐºÐ¾Ð´
Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿ÑÐ¾Ñ Ð¾Ð´Ð¾Ð²
Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð°ÑÐ¸Ñ ÐºÐ¾Ð´Ð°
Ð°Ð½Ð°Ð»Ð¸Ð· ÐºÐ¾Ð´Ð°
Ñompilers
Java byte-code
pass manager
source code optimization
source code analysis

description: Ð¢ÐµÐ¼Ð° ÐÐÐ : Â«Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ° Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð¸ÑÑÑÑÐ¸Ñ Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÑÑÑÐ¸Ñ Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Java Ð±Ð°Ð¹Ñ-ÐºÐ¾Ð´Ð° "KFG"Â». Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ Ð¸Ð·Ð»Ð¾Ð¶ÐµÐ½Ñ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ Ð¿Ð¾Ð¸ÑÐºÐ° Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ð¹, Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ° Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ KFG. ÐÐ°Ð´Ð°ÑÐ¸, ÑÐµÑÐ°ÐµÐ¼ÑÐµ Ð² ÑÐ¾Ð´Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ: ÐÐ·ÑÑÐµÐ½Ð¸Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ð¹ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ° Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð². Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿Ð¾Ð´ÑÐ¾Ð´Ð° ÑÐ°Ð±Ð¾ÑÑ Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑÐ¾Ð¼ Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð² Ð¸ Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÑÐ¼Ð¸. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ° Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ KFG. Ð¢ÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ Ð¸Ð½ÑÐµÐ³ÑÐ°ÑÐ¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð²ÐµÑÑÐ¸Ð¸ KFG Ð² Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¾Ð¹ Ð³ÐµÐ½ÐµÑÐ°ÑÐ¸Ð¸ ÑÐµÑÑÐ¾Ð² KEX. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð±ÑÐ»Ð¸ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ðµ ÑÐµÑÐµÐ½Ð¸Ñ Ð² LLVM Ð¸ GCC Ð¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿ÑÐ¾ÑÐ¾Ð´Ð° Ñ ÑÐ¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ Ð²Ð°Ð»Ð¸Ð´Ð½Ð¾Ð¹ Ð¸ ÐºÐ²Ð°Ð·Ð¸Ð¾Ð¿ÑÐ¸Ð¼Ð°Ð»ÑÐ½Ð¾Ð¹ Ð¾ÑÐµÑÐµÐ´Ð¸ Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð², ÐºÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² Ð°Ð½Ð°Ð»Ð¸Ð·Ð°, ÑÐ´Ð¾Ð±Ð½ÑÐ¼Ð¸ ÑÑÐµÐ´ÑÑÐ²Ð°Ð¼Ð¸ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑÐ° Ð¿ÑÐ¾ÑÐ¾Ð´Ð¾Ð², Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð° Ð¸Ð½ÑÐµÐ³ÑÐ°ÑÐ¸Ñ Ð² KEX.
description: 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.