Univerzitet u Beogradu
Katedra za računarstvo i informatiku

PLATO

Programski jezici i alati

Statičko profilisanje zasnovano na mašinskom učenju

Ova stranica predstavlja istraživački projekat nastao u saradnji Matematičkog fakulteta Univerziteta u Beogradu i kompanije Oracle. Projekat se bavi primenom mašinskog učenja za predviđanje profila u kompajleru GraalVM Native Image, koji prevodi programe pre izvršavanja. Modeli predviđaju verovatnoće grananja i učestalost izvršavanja metoda. Ova predviđanja usmeravaju odluke kompajlera o umetanju tela metoda, optimizacijama petlji, rasporedu koda i odnosu između brzine izvršavanja i veličine izvršne datoteke.

Profil programa opisuje njegovo ponašanje tokom izvršavanja, uključujući verovatnoće grananja i učestalost izvršavanja metoda i osnovnih blokova. Kod dinamičkog profilisanja zasnovanog na instrumentaciji, optimizacija vođena profilom (PGO) prikuplja ove podatke izvršavanjem instrumentovane verzije programa nad reprezentativnim radnim opterećenjima, a zatim ponovo prevodi aplikaciju uz prikupljeni profil. Dinamičko profilisanje je standardni pristup dobijanju visokokvalitetnih profila za aplikacije visokih performansi. Dodatno prevođenje i izvršavanje radi profilisanja produžavaju postupak izgradnje, dok instrumentacija povećava vreme izvršavanja i potrošnju memorije. Ovi troškovi se nagomilavaju u kontinuiranoj integraciji i mogu premašiti ograničenja resursa ugrađenih sistema. Programeri moraju da osmisle reprezentativna radna opterećenja i održavaju ih kako se kod menja, a nastala složenost i zahtevi za resursima ograničavaju primenu ovog pristupa. Statički profajler predviđa profil iz koda programa tokom prevođenja. Tako kompajler dobija podatke o profilu u jednom postupku izgradnje, bez izvršavanja aplikacije koja se prevodi radi profilisanja. Modeli mašinskog učenja, prethodno obučeni na profilima drugih programa, uče obrasce koji omogućavaju tačna predviđanja.

Statičko profilisanje povezuje kompanije i univerzitete više od tri decenije. Na konferenciji MICRO 1994, Wu i Larus, tada u kompaniji Sequent Computer Systems i na univerzitetu University of Wisconsin–Madison, predstavili su temeljni rad o statičkoj analizi učestalosti grananja i profila programa. Sistem VESPA, koji su na konferenciji OOPSLA 2021 predstavili istraživači kompanije Facebook, danas Meta, i univerziteta Federal University of Minas Gerais (UFMG), koristi neuronsku mrežu za statičko profilisanje pri optimizaciji binarnog koda. Rotem i Cummins u kompaniji Meta koriste mašinsko učenje za optimizaciju vođenu profilom bez profila same aplikacije. Raman i Li u kompaniji Google uče verovatnoće grananja iz radnih opterećenja centara podataka. Ovaj projekat donosi statičko profilisanje zasnovano na mašinskom učenju u Oracle GraalVM Native Image, u kome je dostupno kao ugrađena mogućnost.

U okviru projekta nastali su i radovi o obilasku grafova toka kontrole (Ristović et al., 2025) (Čugurović et al., 2025c) (Ristović et al., 2024) (Čugurović et al., 2023a) i evaluaciji performansi sistema GraalVM (Spasić et al., 2024). Rezultati statičkog profilisanja predstavljeni su u proširenim apstraktima i izlaganjima (Milenković et al., 2025) (Čugurović and Janičić, 2024a) (Čugurović and Janičić, 2023b) (Čugurović, 2022), uključujući predavanje po pozivu na skupu INFORMATIKA 2026 (Čugurović, 2026c).

Izabrani radovi

Ugrađivanja

Profiling Beyond IR: Method-Signature Embeddings for Static Profiling

U toku

Autori: Stefan Milenković, Lazar Milikić, Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović i Milena Vujošević Janičić.

GraalNN pretvara tokene potpisa metoda u vektore i objedinjuje ih mehanizmom pažnje, a zatim rezultat spaja sa svojstvima grafa toka kontrole radi predviđanja verovatnoće grananja.
GraalNN: Vektorske reprezentacije potpisa metoda pridružuju se reprezentaciji grafa toka kontrole pre predviđanja verovatnoća grananja.
GraalMHC zasebno razlaže imena paketa, klase i metoda na tokene, pretvara ih u vektore i objedinjuje. Dobijene vektore dodaje svojstvima modifikatora pristupa, potpisa, međureprezentacije i toka podataka radi klasifikacije učestalosti izvršavanja metoda.
GraalMHC: Vektorske reprezentacije imena paketa, klase i metoda kombinuju se sa izvornim svojstvima radi klasifikacije učestalosti izvršavanja metoda.

Slika za GraalNN prikazuje razlaganje potpisa metoda na tokene i njihovo kodiranje u sažetu reprezentaciju koja se pridružuje svojstvima grafa toka kontrole radi predviđanja verovatnoća grananja. Slika za GraalMHC prikazuje zasebno kodiranje imena paketa, klase i metoda i njihovo dodavanje postojećim svojstvima programa. Na osnovu njih metode se klasifikuju kao hladne ili tople, što usmerava strategiju njihovog prevođenja.

Imena paketa, klasa i metoda sadrže semantičke naznake koje strukturna svojstva programa ostavljaju neiskorišćenim. Ovaj rukopis dodaje sažete vektorske reprezentacije identifikatora u dva profajlera za GraalVM Native Image.

U poređenju sa osnovnom verzijom bez vektorskih reprezentacija imena, proširenje sistema GraalNN smanjuje veličinu binarnih datoteka za Barista za 4.14% i vreme prevođenja za 1.58% na nivou O2. Na nivou O3 smanjenja dostižu 6.53% i 5.51%, uz nepromenjene ili blago poboljšane performanse izvršavanja. Proširenje sistema GraalMHC smanjuje veličinu binarnih datoteka do približno 11%, uz gubitak performansi izvršavanja od nekoliko procenata. Podaci njegovih namenskih vektorskih reprezentacija zauzimaju 2.77 MB, u poređenju sa 163 MB za GloVe.

GraalMHC++

GraalMHC++: A Tunable ML Framework for Size-Aware Optimizing Compilation

Publikacija ili skup: Journal of Systems and Software (Elsevier).

Prihvaćeno ScienceDirect

Tematski broj Special Issue on AI Techniques for Performance, Reliability, and Sustainability of Modern Software Systems.

Autori: Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović i Milena Vujošević Janičić.

Statička svojstva iz koda metoda, međureprezentacije kompajlera Graal i grafa toka podataka ulaze u ansambl XGBoost. NJegov rezultat se poredi sa podesivim pragom za klasifikaciju metoda kao hladnih ili toplih.
Statička svojstva metoda ulaze u jedan model XGBoost, a podesivi prag određuje prevođenje za hladne ili tople metode.

Slika iznad prikazuje statička svojstva izdvojena iz potpisa metoda, modifikatora pristupa, reprezentacije u kompajleru i grafa toka podataka. Jedan model XGBoost pretvara ova svojstva u ocenu učestalosti izvršavanja, a podesivi prag pretvara ocenu u klasifikaciju metoda kao hladnih ili toplih. Ta klasifikacija određuje prevođenje usmereno na manju veličinu ili na bolje performanse.

Optimizacije poput umetanja tela metoda i odmotavanja petlji mogu povećati binarne datoteke čak i kada se primenjuju na kod koji se retko izvršava. Prag odlučivanja dostupan je kao opcija kompajlera, što omogućava različite odnose veličine i performansi bez obučavanja i distribucije zasebnih modela.

Na mikroservisima Barista i aplikacijama Renaissance, na nivoima O2 i O3, pragovi od 0.1 do 0.7 smanjuju veličinu binarnih datoteka za 8% do 32%, uz gubitak performansi od 1% do 8%. Prag od 0.3 daje binarne datoteke manje za 12% do 21%, uz gubitak performansi od 1% do 3%. Agresivniji prag od 0.9 donosi uštede u veličini do 43%. Okvir je integrisan u Oracle GraalVM Native Image (Čugurović et al., 2026a).

Granice statičkog profilisanja

The Promise of Static Profiling: Exploring the Limits

Publikacija ili skup: MoreVMs Workshop, Programming 2026, Minhen, Nemačka.

Objavljeno ACM Digital Library

Autori: Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović i Milena Vujošević Janičić.

Izvršavanje radi dinamičkog profilisanja daje izmerene profile. Izabrane vrste profila se zadržavaju, a prevođenje vođeno profilom proizvodi optimizovan izvršni program za evaluaciju.
Postupak evaluacije izdvaja pojedinačne vrste profila kako bi izmerio potencijal idealnog statičkog profajlera.

Slika iznad prikazuje dinamičko profilisanje praćeno izborom profila grananja, broja poziva, virtuelnih poziva ili monitora, pojedinačno ili u kombinaciji. Zadržani profili usmeravaju prevođenje, a evaluacija dobijenih programa procenjuje poboljšanja performansi i veličine binarnih datoteka koja bi idealan statički profajler mogao da postigne za ista radna opterećenja.

Većina statičkih profajlera predviđa ponašanje grananja, dok je vrednost drugih vrsta profila manje istražena. Procene važe za ispitana radna opterećenja u okviru modela profilisanja kompajlera.

Na 31 samostalnoj aplikaciji i 7 mikroservisnih aplikacija, kombinovanje sve četiri vrste profila poboljšava performanse izvršavanja samostalnih aplikacija za 25% i propusnost mikroservisa za 40%. Takođe smanjuje veličinu binarnih datoteka za 20.7% i 30%, redom. Rezultati izdvajaju predviđanje broja poziva i virtuelnih poziva kao perspektivne pravce proširivanja statičkog profilisanja izvan verovatnoća grananja (Čugurović et al., 2026e).

GraalMHC

GraalMHC: ML-Based Method-Hotness Classification for Binary-Size Reduction in Optimizing Compilers

Publikacija ili skup: International Conference on Compiler Construction (CC), Sidnej, Australija.

Objavljeno ACM Digital Library

Autori: Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović i Milena Vujošević Janičić.

Metod heapSort predstavljen je svojstvima izvornog koda, međureprezentacije i toka podataka, koja ansambl XGBoost koristi da predvidi učestalost izvršavanja metoda.
Svojstva metoda izdvojena iz koda i grafova kompajlera pokreću klasifikaciju učestalosti izvršavanja pomoću modela XGBoost.

Slika iznad prikazuje svojstva izdvojena iz potpisa metoda, modifikatora pristupa, reprezentacije u kompajleru i grafa toka podataka, koja se zatim prosleđuju klasifikatoru XGBoost. Dobijena oznaka hladne ili tople metode usmerava Oracle GraalVM Native Image da za hladne metode daje prednost manjem kodu, a za tople metode optimizacijama usmerenim na performanse.

Primena optimizacija usmerenih na performanse na metode koje se retko izvršavaju povećava veličinu binarnih datoteka bez odgovarajućeg poboljšanja performansi izvršavanja.

Tri zasebno obučena modela nude različite odnose veličine i performansi. S1 smanjuje veličinu binarnih datoteka za 9% do 13%, uz gubitak performansi od 1% do 2%. S2 postiže smanjenja od 15% do 25%, uz gubitak od 3% do 5%, dok S3 dostiže smanjenja od 17% do 35%, uz gubitak od 5% do 7%. Evaluacija takođe beleži vreme prevođenja kraće za 7% do 10% (Čugurović et al., 2026b).

GraalNN

GraalNN: Context-Sensitive Static Profiling with Graph Neural Networks

Publikacija ili skup: International Symposium on Code Generation and Optimization (CGO), Las Vegas, SAD.

Objavljeno ACM Digital Library

Autori: Lazar Milikić, Milan Čugurović i Vojin Jovanović.

GraalNN kombinuje grafove toka kontrole pozivaoca i pozvane metode tokom umetanja tela metoda, kodira strukturu grafa grafovskom neuronskom mrežom i predviđa verovatnoće grananja neuronskom mrežom sa propagacijom unapred.
Kodiranje grafa i zaključivanje neuronskom mrežom proizvode profile grananja, uz dodavanje konteksta pozivaoca tokom umetanja tela metoda.

Slika iznad prikazuje graf toka kontrole metoda kodiran grafovskom neuronskom mrežom, nakon čega sledi predviđanje verovatnoća grananja. Tokom umetanja tela metoda, graf pozivaoca se pre kodiranja kombinuje sa grafom pozvane metode. Tako dobijeni profili grananja odražavaju kontekst poziva i usmeravaju optimizaciju kompajlera.

Učenje neposredno iz grafova toka kontrole smanjuje potrebu za ručnim osmišljavanjem svojstava koja opisuju strukturu programa.

Integrisan u GraalVM Native Image, okvir postiže ubrzanje izvršavanja od 10.13% po geometrijskoj sredini na standardnim industrijskim benčmarkovima, uz povećanje veličine binarnih datoteka od 2.94%, u odnosu na prevođenje bez profila. Sa optimizacionim budžetom O3, stvarne mikroservisne aplikacije ostvaruju povećanje propusnosti od 13.16%, uz povećanje veličine binarnih datoteka od 5.05%, u odnosu na prevođenje bez profila sa istim budžetom (Milikić et al., 2025).

GraalSP

GraalSP: Polyglot, Efficient, and Robust Machine Learning-Based Static Profiler

Publikacija ili skup: Journal of Systems and Software (Elsevier).

Objavljeno ScienceDirect

Autori: Milan Čugurović, Milena Vujošević Janičić, Vojin Jovanović i Thomas Würthinger.

Sleva nadesno prikazani su stablo odlučivanja, težinski ansambl stabala odlučivanja XGBoost i duboka neuronska mreža.
Stablo odlučivanja, ansambl XGBoost i duboka neuronska mreža ilustruju arhitekture modela.
Graf toka kontrole metoda heapSort grupiše čvor grananja, njegovog prethodnika i blokove na svakoj grani. Tabele navode statička svojstva izdvojena iz tih oblasti.
Svojstva izdvojena za grananje u metodu heapSort numerisana su kao u tabeli svojstava u radu.

Prva slika prikazuje arhitekture stabla odlučivanja, ansambla XGBoost i duboke neuronske mreže ispitane za predviđanje grananja. Druga slika ilustruje svojstva koda i toka kontrole izdvojena za grananje u metodu heapSort. Ova svojstva ulaze u primenjeni lagani regresioni model XGBoost, čija predviđanja verovatnoća grananja usmeravaju optimizaciju kompajlera.

Skup svojstava primenjiv je na jezike koji se prevode u bajtkod jezika Java, uključujući Java, Scala i Kotlin. Heuristike za verovatnoće grananja štite odluke o optimizaciji od netačnih procena i odstupajućih vrednosti.

Profajler je integrisan u kompajler Graal. Evaluacija na 28 benčmarkova pokazuje smanjenje vremena izvršavanja od 7.46% po geometrijskoj sredini u poređenju sa podrazumevanom konfiguracijom kompajlera, koja dodeljuje uniformne verovatnoće grananja. GraalSP omogućava optimizaciju vođenu profilom bez potrebe da programeri prikupljaju dinamički profil ili održavaju zasebno radno opterećenje za profilisanje (Čugurović et al., 2024b).

Pregled profilisanja

Dynamic Profiling and Static Prediction of the Program Execution Profiles in the Context of Compiler Optimizations

Publikacija ili skup: InfoM: Journal of Information Technology and Multimedia Systems, tom 23, broj 78, strane 17 do 27.

Objavljeno InfoM

Autori: Milan Čugurović.

Statička svojstva izvornog koda i profili izvršavanja instrumentovanog programa obrazuju skup podataka za obučavanje modela mašinskog učenja.
Dinamički profili i statička svojstva koda obrazuju skup podataka za obučavanje modela za predviđanje profila.

Slika iznad prikazuje statička svojstva koda prikupljena zajedno sa profilima izvršavanja instrumentovanih programa. Odgovarajuća svojstva i profili spajaju se u označen skup podataka, koji se zatim koristi za obučavanje modela koji predviđa profile izvršavanja neposredno iz koda programa.

Optimizacije vođene profilom koriste profile izvršavanja za odluke poput umetanja tela metoda i rasporeda koda. Ovaj pregledni rad poredi dinamičko profilisanje zasnovano na instrumentaciji i na uzorkovanju, objašnjavajući kako kvalitet profila, trošak prikupljanja i ograničenja resursa utiču na njihovu primenu. Zatim razmatra statičko predviđanje profila kao način da se ovi podaci dobiju neposredno iz koda programa tokom prevođenja.

Rad prati razvoj od ručno pisanih heuristika do modela mašinskog učenja, razlikujući klasifikaciju grananja od regresije koja predviđa verovatnoće izvršavanja. Razmatra kako svojstva izvedena iz izvornog koda, međureprezentacija kompajlera i izvršnog koda opisuju ponašanje programa i izdvaja osmišljavanje svojstava kao ključni izazov. Poređenje ukazuje na to kada je svaki pristup profilisanju koristan i motiviše dalji rad na regresionim modelima i opštijim reprezentacijama programa (Čugurović, 2023c).

Patenti

Podesiva kompilacija

Tunable Machine Learning for Size-Aware Optimizing Compilation

Patentna prijava u SAD.

Datum: oktobar 2026. Status: Podneto.

Prijava se odnosi na podesivo mašinsko učenje za optimizaciju kompajlera koja uzima u obzir veličinu izvršne datoteke (Čugurović et al., 2026f).

Ugrađivanja signatura

Static Profiling Using Signature Embeddings

Patentna prijava u SAD.

Datum: avgust 2026. Status: Podneto.

Prijava se odnosi na upotrebu vektorskih reprezentacija potpisa metoda u statičkom profilisanju (Čugurović et al., 2026d).

GNN profilisanje

Static Profiling with Graph Neural Networks

US20260126977A1.

Datum: 7. maj 2026. Status: Objavljeno.

Prijava obuhvata predviđanje učestalosti grananja iz grafova toka kontrole pomoću grafovskih neuronskih mreža. Predviđanja obrazuju profile programa koji usmeravaju optimizaciju kompajlera (Jovanović et al., 2026).

Klasifikacija vrućih metoda

Machine Learning Method Hotness Classification in Optimizing Compilers

Patentna prijava u SAD.

Datum: decembar 2025. Status: Podneto.

Prijava se odnosi na klasifikaciju učestalosti izvršavanja metoda mašinskim učenjem u svrhu optimizacije kompajlera (Čugurović et al., 2025b).

ML statičko profilisanje

Machine Learning Based Static Profiling

US20250244979A1.

Datum: 31. jul 2025. Status: Objavljeno.

Prijava obuhvata predviđanje učestalosti grananja regresionim modelom koji koristi svojstva izdvojena iz međureprezentacije programa. Dobijeni statički profil usmerava optimizaciju koda (Čugurović et al., 2025a).

Odbranjene teze

Doktorska disertacija

Prediction of Program Profiles Using Machine Learning Techniques

Izvorni naslov: Predviđanje profila izvršavanja programa tehnikama mašinskog učenja.

Doktorska disertacija Rad u formatu PDF

Autor: Milan Čugurović.

Ustanova: Matematički fakultet, Univerzitet u Beogradu.

Datum odbrane: 24. decembar 2025.

Mentor: Milena Vujošević Janičić, Matematički fakultet, Univerzitet u Beogradu.

Članovi komisije:

  • Filip Marić, Matematički fakultet, Univerzitet u Beogradu.
  • Mladen Nikolić, Matematički fakultet, Univerzitet u Beogradu.
  • Saša Misailović, University of Illinois Urbana-Champaign.

Ova disertacija predstavlja GraalSP, koji pomoću modela XGBoost i korektivnih heuristika predviđa verovatnoće grananja iz grafovske reprezentacije visokog nivoa kompajlera Graal za jezike koji se prevode u bajtkod jezika Java. Integrisan u Enterprise GraalVM Native Image, postiže ubrzanje izvršavanja od 7.46% po geometrijskoj sredini na 28 benčmarkova u odnosu na osnovnu konfiguraciju sa uniformnim profilom. Disertacija takođe uvodi GraalSP-PLog, alat za ispitivanje pojedinačnih predviđanja i grešaka modela (Čugurović, 2025d).

Master rad

Improving the GraalMHC Static Profiler Using Semantics from Method Names

Izvorni naslov: Poboljšanje statičkog profajlera GraalMHC korišćenjem semantike iz imena metoda.

Master rad Rad u formatu PDF

Autor: Stefan Milenković.

Ustanova: Matematički fakultet, Univerzitet u Beogradu.

Datum odbrane: 7. avgust 2026.

Mentor: Milena Vujošević Janičić, Matematički fakultet, Univerzitet u Beogradu.

Članovi komisije:

  • Mirko Spasić, Matematički fakultet, Univerzitet u Beogradu.
  • Milan Čugurović, Matematički fakultet, Univerzitet u Beogradu.

Ovaj rad proširuje porodicu profajlera GraalMHC u GraalVM Native Image vektorskim reprezentacijama reči iz potpuno kvalifikovanih imena metoda, poredeći GloVe sa namenski obučenim reprezentacijama. U poređenju sa profajlerom bez semantike imena metoda, daje izvršne datoteke manje za 4.7% do 6.4% na nivou O2, uz pogoršanje performansi izvršavanja manje od 2.4%, i datoteke manje za 8.4% do 10.8% na nivou O3, uz pogoršanje do 4.4%. Namenske reprezentacije postižu bolje rezultate od GloVe, a zauzimaju 2.77 MB u odnosu na 163 MB (Milenković, 2026).

Literatura

  • Vojin Jovanović, Milan Čugurović, Lazar Milikić: Static Profiling with Graph Neural Networks. US Letter Patent Application (published), US20260126977A1, 2026. URL
  • Stefan Milenković, Milan Čugurović, Milena Vujošević Janičić: Improving ML-Based Static Profiling Using Method Names. Book of Abstracts of the 15th Symposium "Mathematics and Applications", 36, 2025. URL
  • Stefan Milenković: Improving the GraalMHC Static Profiler Using Semantics from Method Names. Masters Thesis, Faculty of Mathematics, University of Belgrade, 2026. URL
  • Lazar Milikić, Milan Čugurović, Vojin Jovanović: GraalNN: Context-Sensitive Static Profiling with Graph Neural Networks. Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, 123–136, 2025. DOI
  • Ivan Ristović, Milan Čugurović, Strahinja Stanojević, Marko Spasić, Vesna Marinković, Milena Vujošević Janičić: Efficient Control-Flow Graph Traversal. Proceedings of the 30th YU INFO Conference, 89–94, 2024. URL
  • Ivan Ristović, Milan Čugurović, Strahinja Stanojević, Marko Spasić, Vesna Marinković, Milena Vujošević Janičić: Machine Learning-Driven Prediction of Optimal Control Flow Graph Traversal Strategy. Serbian Journal of Electrical Engineering, 22(3), 353–376, 2025. DOI
  • Marko Spasić, Ivan Ristović, Strahinja Stanojević, Milan Čugurović, Milica Karličić, Milena Vujošević Janičić: Evaluating GraalVM Compiler Performance using a Distributed Computing Cluster. Proceedings of the 15th Serbian Mathematical Congress, 114, 2024. URL
  • Milan Čugurović: Prediction of Program Profiles Using Machine Learning Techniques. Seminar for Artificial Intelligence, Mathematical Institute SASA, 2022. URL
  • Milan Čugurović, Ivan Ristović, Strahinja Stanojević, Marko Spasić, Vesna Marinković, Milena Vujošević Janičić: Comparative Analysis of Program Control Flow Graph Traversal Algorithms. Proceedings of the 13th Symposium "Mathematics and Applications", 79, 2023a. URL
  • Milan Čugurović, Milena Vujošević Janičić: Creation and Analysis of a Dataset for Predicting Execution Probabilities of Virtual Methods in Object-Oriented Programs. Artificial Intelligence: Book of Abstracts, 126–127, 2023b. URL
  • Milan Čugurović: Dynamic Profiling and Static Prediction of the Program Execution Profiles in the Context of Compiler Optimizations. InfoM: Journal of Information Technology and Multimedia Systems, 23(78), 17–27, 2023c. URL
  • Milan Čugurović, Milena Vujošević Janičić: GraalSP Profiles Logger: A Tool for Analyzing and Interpreting Predictions of the ML-Based Static Profilers. Artificial Intelligence: Book of Abstracts, 15–16, 2024a. URL
  • Milan Čugurović, Milena Vujošević Janičić, Vojin Jovanović, Thomas Würthinger: GraalSP: Polyglot, efficient, and robust machine learning-based static profiler. Journal of Systems and Software, 213, 112058, 2024b. DOI
  • Milan Čugurović, Milena Vujošević Janičić, Vojin Jovanović, Thomas Würthinger: Machine Learning Based Static Profiling. US Letter Patent Application (published), US20250244979A1, 2025a. URL
  • Milan Čugurović, Milena Vujošević Janičić, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović: Machine Learning Method Hotness Classification in Optimizing Compilers. US Letter Patent Application (filed), 2025b.
  • Milan Čugurović, Ivan Ristović, Strahinja Stanojević, Marko Spasić, Vesna Marinković, Milena Vujošević Janičić: ML-Driven Prediction of Optimal Control Flow Graph Traversal Algorithm in Modern Applications. 2025 12th International Conference on Electrical, Electronic and Computing Engineering (IcETRAN), 1–6, 2025c. DOI
  • Milan Čugurović: Prediction of Program Profiles Using Machine Learning Techniques. Doctoral Dissertation, Faculty of Mathematics, University of Belgrade, 2025d. URL
  • Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović, Milena Vujošević Janičić: GraalMHC++: A Tunable ML Framework for Size-Aware Optimizing Compilation. Journal of Systems and Software, 2026a. URL
  • Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović, Milena Vujošević Janičić: GraalMHC: ML-Based Method-Hotness Classification for Binary-Size Reduction in Optimizing Compilers. Proceedings of the 35th ACM SIGPLAN International Conference on Compiler Construction, 1–13, 2026b. DOI
  • Milan Čugurović: Prediction of Program Execution Profiles Using Machine Learning Techniques. Invited talk at INFORMATIKA 2026: New Trends in the Development of Information Systems, Serbian Informatics Society, 2026c. URL
  • Milan Čugurović, Stefan Milenković, Lazar Milikić, Milena Vujošević Janičić, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović: Static Profiling Using Signature Embeddings. US Letter Patent Application (filed), 2026d.
  • Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović, Milena Vujošević Janičić: The Promise of Static Profiling: Exploring the Limits. Companion Proceedings of the 10th International Conference on the Art, Science, and Engineering of Programming, 4–8, 2026e. DOI
  • Milan Čugurović, Milena Vujošević Janičić, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović: Tunable Machine Learning for Size-Aware Optimizing Compilation. US Letter Patent Application (filed), 2026f.