Automatické porovnávání call grafů pro GraalVM Native Image
Loading...
Date
Authors
Vodák, Milan
Advisor
Referee
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
GraalVM Native Image je překladač, který provádí převod bytecodu jazyka Java na nativní spustitelné binární soubory. V průběhu kompilace využívá techniky statické analýzy, jejichž výsledky je nutné zkoumat. Cílem této práce je vyvinout spolehlivou metodu porovnávání call grafů vytvořených během statické analýzy překladačem GraalVM Native Image a prezentace rozdílů takovým způsobem, který bude možné použít k vyhodnocení efektivity této analýzy. Experimentoval jsem s různými algoritmy a způsoby porovnávání grafů a použil jeden z nich k vývoji finálního produktu, webové aplikace, která umožňuje import výstupních souborů Native Image, jejich vizualizaci a automatické porovnání. Výsledkem je přenosná a intuitivní webová aplikace, kterou mohou vývojáři GraalVM Native Image využít k analýze výsledků své práce a jako pomůcku pro další vývoj technik statické analýzy tohoto překladače.
GraalVM Native Image is a compiler that transforms Java bytecode into native executable binaries. During the compilation, it utilizes static analysis techniques, the results of which have to be examined. The goal of this thesis is to develop a reliable method to compare call graphs produced during static analysis by GraalVM Native Image and present the differences in a way that can be used to evaluate the effectiveness of this analysis. I experimented with various algorithms and methods for graph comparison and used one of them to develop the final product, a web application that allows the import of Native Image reports, their visualization, and automated comparison. The result is a portable and intuitive web application that can be used by GraalVM Native Image developers to examine the results of their work and to aid the further development of the compiler's static analysis techniques.
GraalVM Native Image is a compiler that transforms Java bytecode into native executable binaries. During the compilation, it utilizes static analysis techniques, the results of which have to be examined. The goal of this thesis is to develop a reliable method to compare call graphs produced during static analysis by GraalVM Native Image and present the differences in a way that can be used to evaluate the effectiveness of this analysis. I experimented with various algorithms and methods for graph comparison and used one of them to develop the final product, a web application that allows the import of Native Image reports, their visualization, and automated comparison. The result is a portable and intuitive web application that can be used by GraalVM Native Image developers to examine the results of their work and to aid the further development of the compiler's static analysis techniques.
Description
Citation
VODÁK, M. Automatické porovnávání call grafů pro GraalVM Native Image [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. RNDr. Milan Češka, Ph.D. (předseda)
Ing. Radek Kočí, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)
Ing. Marta Jaroš, Ph.D. (člen)
Date of acceptance
2025-06-17
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Result of defence
práce byla úspěšně obhájena
