Nové metody statické analýzy nejen pro ahead-of-time překladače objektově orientovaných jazyků
Loading...
Date
Authors
Advisor
Referee
Mark
P
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
Tato práce se primárně zaměřuje na metody statické analýzy pro ahead-of-time překladače pro objektově orientované jazyky. Kromě toho se práce zabývá i aplikací statické analýzy v oblasti mikroslužeb. V první části práce se zaměřujeme na vylepšení statické analýzy pro překladače pracující v režimu ahead-of-time za předpokladu uzavřeného světa. Nejdříve uvádíme rozsáhlé srovnání rapid type analýzy s points-to analýzou v kontextu GraalVM Native Image. Poté představíme saturaci, techniku, která dokáže výrazně urychlit points-to analýzu při zanedbatelném snížení přesnosti. Nakonec představíme SkipFlow, rozšíření points-to analýzy, které sleduje tok primitivních hodnot a používá predikátové hrany, aby zabránilo šíření hodnot z nedosažitelných větví programu. Všechny tyto techniky byly vyhodnoceny na sadě standardních benchmarků a začleněny do oficiálního repozitáře GraalVM. Saturace a SkipFlow jsou dokonce zapnuty automaticky během každého překladu. Ve druhé části práce se zaměřujeme na statickou analýzu mikroslužeb. Konkrétně poskytujeme metodiku pro automatizovanou rekonstrukci softwarové architektury mikroservisních systémů. Tato metodika byla implementována v nástroji MicroGraal, který je k dispozici v open-source doméně. Následně popisujeme nástroj SAVAT, který jsme vytvořili pro analýzu dopadu změn pro systémy vytvořené pomocí mikroslužeb.
This thesis focuses primarily on novel static analysis methods for ahead-of-time compilers for managed object-oriented languages. In addition, the thesis also considers the application of static analysis in the domain of microservices. In the first part of the thesis, we focus on improving static analysis for ahead-of-time compilers operating under the closed-world assumption. First, we provide an extensive comparison of rapid type analysis and points-to analysis in the context of GraalVM Native Image. Then, we introduce saturation, a technique that can significantly speed up points-to analysis with only a negligible reduction in precision. Finally, we introduce SkipFlow, an extension of points-to analysis that tracks primitive values and uses predicate edges to prevent value propagation from unreachable branches. All these techniques were evaluated on a set of well-established benchmarks and merged into the official GraalVM repository. On top of that, saturation and SkipFlow are even enabled by default. In the second part of the thesis, we consider the application of the studied static analysis techniques beyond their primary usages - in particular, for static analysis of microservices. We provide a methodology for automated software architecture reconstruction of microservice systems. This methodology was implemented in a tool called MicroGraal, which was open-sourced. Furthermore, we present another tool called SAVAT focusing on change impact analysis of microservice systems.
This thesis focuses primarily on novel static analysis methods for ahead-of-time compilers for managed object-oriented languages. In addition, the thesis also considers the application of static analysis in the domain of microservices. In the first part of the thesis, we focus on improving static analysis for ahead-of-time compilers operating under the closed-world assumption. First, we provide an extensive comparison of rapid type analysis and points-to analysis in the context of GraalVM Native Image. Then, we introduce saturation, a technique that can significantly speed up points-to analysis with only a negligible reduction in precision. Finally, we introduce SkipFlow, an extension of points-to analysis that tracks primitive values and uses predicate edges to prevent value propagation from unreachable branches. All these techniques were evaluated on a set of well-established benchmarks and merged into the official GraalVM repository. On top of that, saturation and SkipFlow are even enabled by default. In the second part of the thesis, we consider the application of the studied static analysis techniques beyond their primary usages - in particular, for static analysis of microservices. We provide a methodology for automated software architecture reconstruction of microservice systems. This methodology was implemented in a tool called MicroGraal, which was open-sourced. Furthermore, we present another tool called SAVAT focusing on change impact analysis of microservice systems.
Description
Keywords
statická analýza , points-to analýza , překladače , optimalizace , Java , GraalVM , rekonstrukce architektury software , analýza dopadu změn , mikroslužby , static analysis , points-to analysis , compiler , optimization , Java , GraalVM , software architecture reconstruction , change impact analysis , microservices
Citation
KOZÁK, D. Nové metody statické analýzy nejen pro ahead-of-time překladače objektově orientovaných jazyků [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
prof. Ing. Jiří Jaroš, Ph.D. (předseda)
doc. Ing. Lubomír Bulej, Ph.D. (člen)
Prof. Dr. Stefan Marr (člen)
prof. RNDr. Jan Strejček, Ph.D. (člen)
prof. Ing. Petr Tůma, Dr. (člen)
Date of acceptance
2025-12-10
Defence
Student přednesl cíle a výsledky, kterých v rámci řešení disertační práce dosáhl. V rozpravě student odpověděl na otázky komise a oponentů. Diskuze je zaznamenána na diskuzních lístcích, které jsou přílohou protokolu. Počet diskuzních lístků: 5. Komise se v závěru jednomyslně usnesla, že student splnil podmínky pro udělení akademického titulu doktor.
The student presented the goals and results of his PhD thesis. The student answered the questions of the committee members and reviewers in a way showing his deep understanding of the field. The discussion is recorded on the discussion sheets, which are attached to the protocol. Number of discussion sheets: 5. The committee has agreed unanimously that the student has fulfilled the requirements for being awarded the academic title Ph.D.
The committee and reviewers unanimously recommend the thesis to be awarded the Dean's Award for an exceptionally high-quality dissertation due the student has achieved a number of highly significant results published at high-quality/flagship conferences and, at the same, succeeded in applying the results in a real-life product used worldwide. Moreover, the results have been achieved and the thesis prepared within the nominal length of the studies.
Result of defence
práce byla úspěšně obhájena
