HUCOVIČ, V. Efektivní instrumentace programů v LLVM [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Pavela, Jiří

Student byl velmi aktivní po celou dobu řešení práce. Přestože se jedná o průměrné obtížné zadání, bylo vypracováno daleko nad rámec očekávání, což dokazují naměřené výsledky v rámci vyhodnocení výsledného nástroje. Studentovi se podařilo dosáhnout až násobně nižší časové režie spojené s instrumentací kódu v porovnání se srovnatelným nástrojem gprof v překladačích gcc a clang. Těchto výsledků student dosáhl díky průzkumu značného množství – nad rámec požadavků i očekávání – netriviálních optimalizací instrumentovaného kódu a systematického vyhodnocení přínosu jednotlivých optimalizací. Z mého pohledu je zde velký potenciál pro budoucí publikaci dosažených výsledků, případně jejich využití v rámci výzkumné spolupráce s firmou Red Hat zaměřené na efektivní profilování jádra operačního systému Linux.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Jedná se o průměrně těžké zadání práce, jehož obtížnost spočívá především v seznámení se s infrastrukturou LLVM a způsobem vytvoření vlastních komplexních průchodů během kompilace programu. Student se nicméně zadání zhostil velmi zodpovědně a dosaženými výsledky (např. časovou režií instrumentovaného kódu) opravdu dalece předčil očekávání. Práce navazovala na výsledky dosažené v bakalářských projektových praxích.
Práce s literaturou Student zvládal samostatně vyhledávat a studovat množství rozdílných zdrojů: od technických dokumentací po publikované články, závěrečné práce a odborné knihy.
Aktivita během řešení, konzultace, komunikace Z hlediska aktivity v průběhu řešení práce byl student naprosto vzorový. Student se bez problémů účastnil pravidelných schůzek v průběhu obou semestrů a vždy prezentoval značný pokrok v řešení práce.
Aktivita při dokončování Student velmi intenzivně pracoval až do posledního dne před termínem odevzdání práce – nikoliv však proto, aby dohnal nedostatek úsilí v předchozích měsících, ale aby odevzdal co možná nejlepší práci. Student až do posledního týdne před odevzdáním práce přicházel se stále novými nápady, jak svou práci ještě více vylepšit.
Publikační činnost, ocenění Studentem vytvořené řešení je veřejně dostupné ve formě open-source a v blízké budoucnosti bude začleněno do upstreamu open-source projektu Perun.
Navrhovaná známka
A
Body
99

Posudek oponenta

Vojnar, Tomáš

Navrhuji hodnocení A/90 s ohledem na to, že práce vedla na kvalitní vytvořené programové dílo, potenciálně využitelné v nástroji Perun, a také s ohledem na to, že výsledek je evidentně výsledkem systematické a kreativní práce. Oceňuji také kvalitní zpracování technické zprávy.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání práce vidím jako mírně náročnější s ohledem na kombinaci technologií z oblasti analýzy programů a překladačů a s ohledem na nutnost práce s nízko-úrovňovou reprezentací programů na úrovni mezikódu.
Rozsah splnění požadavků zadání Všechny body zadání byly splněny vyčerpávajícím způsobem.
Rozsah technické zprávy Text práce je v obvyklém rozmezí, přičemž se soustředí na problematiku významnou pro danou práci.
Prezentační úroveň technické zprávy 95 Technická zpráva je strukturována logicky, jednotlivé části na sebe vhodně navazují a prezentují pokrytou problematiku, včetně vlastního přínosu studenta, velmi srozumitelným a současně čtivým způsobem. Oceňuji zahrnuté příklady i (byť jednoduchou) formalizaci některých částí práce.
Formální úprava technické zprávy 90 Technická zpráva je psána anglicky, velmi srozumitelně a s minimem chyb (pokud jsem schopen to posoudit). Typograficky je práce rovněž na velmi slušné úrovni, byť by bylo vhodné umístit popisky tabulek nad příslušné tabulky a rovněž umístění citací mimo příslušnou větu mi nepřijde vhodné.
Práce s literaturou 95 Student vychází z vhodně zvolené literatury, kterou také řádně cituje (až na výše zmíněný formát citací).
Realizační výstup 95 Vytvořené programové dílo bylo řádně otestováno a podařilo se dosáhnout velmi slibných experimentálních výsledků. Vytvořený kód dle dostupných informací ještě není součástí hlavní vývojové větve nástroje Perun, ale je zřejmě blízko začlenění jako významná součást tohoto nástroje.
Využitelnost výsledků Práce přinesla novou komponentu open source nástroje Perun, o který je v současné době značný zájem ve firmě Red Hat. Tato komponenta může v některých případech výrazně zvýšit efektivitu analýz prováděných pomocí nástroje Perun a po svém začlenění do hlavní vývojové větve nástroje Perun může být prakticky využita. Dosažené výsledky nebyly dosud publikovány, nicméně mají potenciál být začleněny do širšího článku o nástroji Perun, jeho optimalizacích a aplikaci.
Navrhovaná známka
A
Body
90

Otázky

eVSKP id 156402