HUCOVIČ, V. Efektivní instrumentace programů v LLVM [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
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.
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. |
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.
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. |
eVSKP id 156402