Statická analýza mikroslužeb s využitím GraalVM Native Image
Loading...
Date
Authors
Pokhvalenko, Vsevolod
Advisor
Referee
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
Tato práce představuje rozšíření nástroje MicroGraal pro statickou analýzu mikroslužeb založeného na technologii GraalVM. Cílem je analyzovat strukturu a komunikační toky v distribuovaných systémech. Původní prototyp byl zbaven závislosti na konkrétním benchmarku a rozšířen o podporu Maven a Gradle projektů včetně automatického získávání metadat z přeložených Java mikroslužeb. Klíčovým přínosem je přidání podpory pro komunikační modely WebSocket a GraphQL, které doplňují stávající REST rozhraní a umožňují širší pokrytí současných architektur. Pomocí analýzy vnitřní reprezentace používané v systému GraalVM jsou extrahovány call grafy a zjišťovány závislosti mezi mikroslužbami. Vizualizační vrstva byla kompletně přepracována do interaktivního 2D rozhraní s využitím knihovny ReactFlow, které podporuje filtrování, vyhledávání a inspekci metadat. Nástroj byl otestován na sadě reálných projektů, což potvrdilo jeho správnost, univerzálnost a praktické využití.
This thesis introduces multiple extensions to MicroGraal, a static analysis framework built upon GraalVM to analyze structural patterns and communication behaviors of microservice-based architectures. The work eliminates project-specific dependencies from the original prototype while adding Maven and Gradle build system support and automated metadata extraction from compiled Java microservices. The main achievement involves integrating WebSocket and GraphQL communication models together with REST to achieve wider coverage of modern microservice architectures. Graal Intermediate Representation serves as the basis to obtain call graphs which reveal inter-service dependencies. The visualization layer of MicroGraal underwent a redesign to implement a 2D interactive frontend based on ReactFlow which enables users to perform advanced filtering operations, search functions, and metadata inspections. The extended tool was evaluated using real-world projects that implement REST, WebSocket and GraphQL to prove its correctness, generalizability, and practical relevance.
This thesis introduces multiple extensions to MicroGraal, a static analysis framework built upon GraalVM to analyze structural patterns and communication behaviors of microservice-based architectures. The work eliminates project-specific dependencies from the original prototype while adding Maven and Gradle build system support and automated metadata extraction from compiled Java microservices. The main achievement involves integrating WebSocket and GraphQL communication models together with REST to achieve wider coverage of modern microservice architectures. Graal Intermediate Representation serves as the basis to obtain call graphs which reveal inter-service dependencies. The visualization layer of MicroGraal underwent a redesign to implement a 2D interactive frontend based on ReactFlow which enables users to perform advanced filtering operations, search functions, and metadata inspections. The extended tool was evaluated using real-world projects that implement REST, WebSocket and GraphQL to prove its correctness, generalizability, and practical relevance.
Description
Keywords
Mikroslužby , Statická analýza , GraalVM , REST API , WebSocket , GraphQL , Spring Boot , Modelování komunikace , Vizualizace , Závislosti mezi službami , Microservices , Static Analysis , GraalVM , REST API , WebSocket , GraphQL , Spring Boot , Communication Modeling , Visualization , Service Dependencies
Citation
POKHVALENKO, V. Statická analýza mikroslužeb s využitím 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. Ing. František Zbořil, CSc. (předseda)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
doc. Ing. Michal Španěl, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)
Date of acceptance
2025-06-18
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. Komise se na základě posudku oponenta, hodnocení vedoucího a přednesené prezentace rozhodla práci hodnotit stupněm A.
Result of defence
práce byla úspěšně obhájena
