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.

Izabrani radovi

Izabrano je sedam radova. Šest je objavljeno. Jedan je u toku.

Profiling Beyond IR: Method-Signature Embeddings for Static Profiling

Status: 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 · Slika 2. Vektorske reprezentacije potpisa metoda pridružuju se reprezentaciji grafa toka kontrole pre predviđanja verovatnoća grananja. Otvori u punoj veličini.
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 · Slika 3. Vektorske reprezentacije imena paketa, klase i metoda kombinuju se sa izvornim svojstvima radi klasifikacije učestalosti izvršavanja metoda. Otvori u punoj veličini.

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++: A Tunable ML Framework for Size-Aware Optimizing Compilation

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

Datum: oktobar 2026.

Status: Objavljeno.

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. Otvori u punoj veličini.

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.

The Promise of Static Profiling: Exploring the Limits

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

Datum: mart 2026.

Status: 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. Otvori u punoj veličini.

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.

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

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

Datum: januar 2026.

Status: 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. Otvori u punoj veličini.

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%.

GraalNN: Context-Sensitive Static Profiling with Graph Neural Networks

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

Datum: mart 2025.

Status: 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. Otvori u punoj veličini.

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.

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

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

Datum: jul 2024.

Status: 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.
Slika 3. Stablo odlučivanja, ansambl XGBoost i duboka neuronska mreža ilustruju arhitekture modela. Otvori u punoj veličini.
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.
Slika 19. Svojstva izdvojena za grananje u metodu heapSort numerisana su kao u tabeli svojstava u radu. Otvori u punoj veličini.

Slika 3 prikazuje arhitekture stabla odlučivanja, ansambla XGBoost i duboke neuronske mreže ispitane za predviđanje grananja. Slika 19 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.

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.

Datum: decembar 2023.

Status: 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. Prilagođeno sa slike 4, sa oznakama na engleskom. Otvori u punoj veličini.

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.

Patenti

Podneto je pet patentnih prijava u SAD.

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.

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.

Static Profiling with Graph Neural Networks

US20260126977A1.

Datum: 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.

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.

Machine Learning Based Static Profiling

US20250244979A1.

Datum: 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.

Odbranjene teze

Odbranjene su dve teze.

Predviđanje profila izvršavanja programa tehnikama mašinskog učenja

Vrsta: Doktorska disertacija.

Teza 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.

Poboljšanje statičkog profajlera GraalMHC korišćenjem semantike iz imena metoda

Vrsta: Master rad.

Teza 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.

Potpun spisak publikacija

Spisak sadrži sedamnaest stavki.

Radovi u časopisima

  1. M. Čugurović, A. Prokopec, B. Spasojević, V. Jovanović i M. Vujošević Janičić. GraalMHC++: A Tunable ML Framework for Size-Aware Optimizing Compilation. Journal of Systems and Software (Elsevier), tematski broj Special Issue on AI Techniques for Performance, Reliability, and Sustainability of Modern Software Systems. Oktobar 2026. ScienceDirect
  2. I. Ristović, M. Čugurović, S. Stanojević, M. Spasić, V. Marinković i M. Vujošević Janičić. Machine Learning-Driven Prediction of Optimal Control Flow Graph Traversal Strategy. Serbian Journal of Electrical Engineering, tom 22, broj 3, strane 353 do 376. 2025. doiSerbia
  3. M. Čugurović, M. Vujošević Janičić, V. Jovanović i T. Würthinger. GraalSP: Polyglot, Efficient, and Robust Machine Learning-Based Static Profiler. Journal of Systems and Software (Elsevier). Jul 2024. ScienceDirect
  4. M. Č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, tom 23, broj 78, strane 17 do 27. Decembar 2023. InfoM

Radovi na konferencijama i radionicama

  1. M. Čugurović, A. Prokopec, B. Spasojević, V. Jovanović i M. Vujošević Janičić. The Promise of Static Profiling: Exploring the Limits. MoreVMs Workshop, Companion Proceedings of the 10th International Conference on the Art, Science, and Engineering of Programming (<Programming> '26), Minhen, Nemačka. Mart 2026. ACM Digital Library
  2. M. Čugurović, A. Prokopec, B. Spasojević, V. Jovanović i M. Vujošević Janičić. GraalMHC: ML-Based Method-Hotness Classification for Binary-Size Reduction in Optimizing Compilers. International Conference on Compiler Construction (CC), Sidnej, NSW, Australija. Januar 2026. ACM Digital Library
  3. M. Čugurović, I. Ristović, S. Stanojević, M. Spasić, V. Marinković i M. Vujošević Janičić. ML-Driven Prediction of Optimal Control Flow Graph Traversal Algorithm in Modern Applications. 12th International Conference IcETRAN, Čačak, Srbija. Jun 2025. Nagrada za najbolji rad mladih istraživača
  4. L. Milikić, M. Čugurović i V. Jovanović. GraalNN: Context-Sensitive Static Profiling with Graph Neural Networks. International Symposium on Code Generation and Optimization (CGO), Las Vegas, Nevada, SAD. Mart 2025. ACM Digital Library
  5. I. Ristović, M. Čugurović, S. Stanojević, M. Spasić, V. Marinković i M. Vujošević Janičić. Efficient Traversal of Program Control Flow Graphs. Conference YuInfo 2024, Kopaonik, Srbija. Mart 2024.

Prošireni apstrakti i izlaganja

  1. S. Milenković, M. Čugurović i M. Vujošević Janičić. Improving ML-Based Static Profiling Using Method Names. Symposium Mathematics and Applications, Matematički fakultet, Univerzitet u Beogradu, tom XV. 2025.
  2. M. Čugurović i M. Vujošević Janičić. GraalSP Profiles Logger: A Tool for Analyzing and Interpreting Predictions of the ML-Based Static Profilers. Conference on Artificial Intelligence, Odeljenje tehničkih nauka SANU i Matematički institut SANU. Decembar 2024.
  3. M. Spasić, I. Ristović, S. Stanojević, M. Čugurović, M. Karličić i M. Vujošević Janičić. Performance Evaluation of the GraalVM Compiler on a Distributed Computing Cluster. XV Serbian Mathematical Congress, Matematički fakultet, Univerzitet u Beogradu. 2024.
  4. M. Čugurović i M. Vujošević Janičić. Creation and Analysis of a Dataset for Predicting Execution Probabilities of Virtual Methods in Object-Oriented Programs. Conference on Artificial Intelligence, Matematički institut SANU. Decembar 2023.
  5. M. Čugurović, I. Ristović, S. Stanojević, M. Spasić, V. Marinković i M. Vujošević Janičić. Comparative Analysis of Program Control Flow Graph Traversal Algorithms. Symposium Mathematics and Applications, Matematički fakultet, Univerzitet u Beogradu, tom XIII(1). 2023.
  6. M. Čugurović. Prediction of Program Profiles Using Machine Learning Techniques. Seminar for Artificial Intelligence, Matematički institut SANU. Mart 2022.

Predavanja po pozivu

  1. M. Čugurović. Prediction of Program Execution Profiles Using Machine Learning Techniques. Predavanje po pozivu na skupu INFORMATIKA 2026: New Trends in the Development of Information Systems, Društvo za informatiku Srbije. Maj 2026.

U toku

  1. Stefan Milenković, Lazar Milikić, Milan Čugurović, Aleksandar Prokopec, Boris Spasojević, Vojin Jovanović i Milena Vujošević Janičić. Profiling Beyond IR: Method-Signature Embeddings for Static Profiling.

Milan Čugurović

Oracle, Beograd · Matematički fakultet, Univerzitet u Beogradu

Poslednja izmena: oktobar 2026.