PAVELA, O. Advanced Static Performance Analysis Using Meta Infer [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Vzhledem ke všem výše uvedeným skutečnostem hodnotím práci stupněm A na dolním rozsahu této známky, přestože dosud nebyla publikována ani uplatněna v praxi. Významnou roli zde hraje v mých očích to, že student řešil opravdu náročnou problematiku a byl schopen samostatně a velmi originálně vyřešit složité problémy, o jejichž existenci jsme dopředu nevěděli a dle mých znalostí nejsou popsány ani v literatuře.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Práce je nadprůměrně náročná tím, že se zaměřuje na dosti náročný typ statických analýz snažících se o automatické odvození amortizované složitosti programů. Zadání navíc mělo velmi výrazný výzkumný aspekt a vedlo k nutnosti jít dosti nad rámec přístupů známých v literatuře. Práce konkrétně buduje na značně komplexním přístupu navrženém v disertační práci Moritze Sinna z TU Vídeň. Tento přístup však byl navržen jako intra-procedurální. Jedním z cílů práce diplomanta pak bylo zobecnit tento přístup na přístup inter-procedurální, což si následně vyžádalo řešení problémů, které jsem v době zadání naprosto neočekával. Jednalo se například o nutnost automatického a efektivního posuzování monotónnosti a růstového charakteru průběžně odvozovaných funkcí složitosti jednotlivých funkcí analyzovaných programů. Student začal v dané oblasti pracovat již v rámci své bakalářské projektové praxe a následně bakalářské práce, v rámci které reimplementoval přístup M. Sinna, původně implementovaný v samostatném nástroji Loopus, do prostředí analyzátoru Meta Infer. Jednalo se tehdy ale o přístup intra-procedurální. Následně student pokračoval na zobecnění uvedeného přístupu na inter-procedurální a na řešení různých problémů s tím spojených a také na řešení problémů, které se objevily při aplikaci vytvořeného nástroje na reálný kód (starší nástroj Loopus byl ověřován na dosti omezené sadě příkladů). Studentem vytvořené řešení považuji za velmi originální a zdařilé, přestože prozatím dosažené experimentální výsledky nejsou zcela pozitivní. Vzhledem k náročnosti řešeného problému to považuji za přirozené a student sám ve své práci naznačuje, kde je potenciál pro další zlepšení dosaženého řešení. | ||
Práce s literaturou | Práce s literaturou byla zcela bezproblémová. Student byl schopen nastudovat i velmi náročné práce výzkumného charakteru a aplikovat poznatky v nich obsažené. Ve své diplomové práci se student významně odkazuje na práci bakalářskou, což ale považuji za přirozené, protože se musí vymezit vůči metodám, které byly popsány právě v jeho bakalářské práci. Diplomová práce ovšem jde významně nad rámec toho, co je prezentováno v práci bakalářské, o čemž svědčí i její délka srovnatelná spíše s prací disertační (přičemž nepovažuji práci za bezdůvodně nafouknutou, naopak jsem s ohledem na další možné pokračování práce rád za pečlivé popsání aktuálního řešení). | ||
Aktivita během řešení, konzultace, komunikace | Práce studenta na tématu nebyla zdaleka přímočará. Student v rámci svého magisterského studia odjel v rámci programu Freemover do Jižní Koreje, kde následně setrval přibližně dva roky. Práce na tématu tak byla komplikovaná jednak tím, že byla realizována převážně distančně (mimo samotného začátku práce), a také několikrát přerušena. Oceňuji ovšem, že student byl schopen se k práci vždy vrátit. V periodách, kdy student na řešení své diplomové práce pracoval, byl vždy velmi aktivní, účastnil se distančních schůzek, na kterých prezentoval dosažený pokrok, a navrhoval sám originální řešení komplikovaných problémů, které se při práci vyskytly. | ||
Aktivita při dokončování | Práce studenta byly dokončována bez předstihu a s využitím drobného odkladu (což se ale děje poměrně běžně i při přípravě vědeckých článků či návrhů projektů). S ohledem na mé zatížení v daném časovém období jsem pak nebyl schopen projít a komentovat veškerý obsah studentovy dosti rozsáhlé práce, ale klíčové části jsem prošel a student byl schopen reflektovat mé návrhy. | ||
Publikační činnost, ocenění | Práce nebyla publikována, vytvořený nástroj je však dostupný jako open source. Studentem navržené metody považuji za velmi zajímavé a využitelné jako východisko pro další výzkum a dopracování, po kterém by měly být publikovatelné na běžných mezinárodních konferencích v oboru. |
Jedná se o nadprůměrnou práci, která převyšuje obvyklý standard u DP na FITu. Proto navrhuji hodnocení A a doporučuji komisi zvážit některé z možných dalších ocenění.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Jedná se o obtížnější zadnání. Student nicméně navazoval na svojí BP v rámci které nastudoval spoustu teorie a technologií nutných pro tuto DP. Tím pádem měl výrazně jednodušší startovní pozici. Pro studenta bez těchto počátečních znalostí bych zadání hodnotil jako značně obtížné. | ||
Rozsah splnění požadavků zadání | |||
Rozsah technické zprávy | |||
Prezentační úroveň technické zprávy | 95 | Práce je velmi dobře členěna do kapitol. Je psána v Angličtině a bez problému čitelná a pochopitelná. Všechny důležité (i méně důležité) pojmy a techniky jsou dostatečně vysvětleny. V rámci kapitoly 6 by bylo dobré v tabulkách výrazněji odlišit původní a novou verzi nástroje Looper. Stejné platí pro nástroj Cost. Zvlášt v tabulce 6.2 by bylo dobré zdůraznit, že jde o "verzi 2023". | |
Formální úprava technické zprávy | 99 | Práce je po formální stránce bez problémů. I přes svoji délku mají všechny části vysoký standard a žádná z nich netrpí zásadními nedodělky. | |
Práce s literaturou | 95 | Student v rámci kapitol 2 a 3 přebírá části textu ze své BP a článku na Excel@FIT, kde byl spoluautorem. Přebrané části jsou v textu označeny. Rozsah převzatých částí tvoří cca 15 stran, ale v kontextu celkového rozsahu práce to není nijak na závadu. Nové části i tak převyšují obvyklý rozsah prací na FITu. Všechny ostatní zdroje byly také citovány. | |
Realizační výstup | 95 | Student navrhl a implementoval několik vylepšení původního nástroje. Vše je funkční a dobře zdokumentované. Nástroj byl následně vyzkoušen na celém Coreutils (cca 95 tis. řádků kódu) a porovnán se state-of-the-art nástrojem Infer-Cost. | |
Využitelnost výsledků | V porovnání s Infer-Cost má nástroj ještě hodně slabin, nicméně student v práci diskutuje možné úpravy a rozšíření, po kterých by se nástroj mohl stát "rovnoceným soupeřem" pro Infer-Cost. Práce také může velmi dobře posloužit jako studijní materiál pro další studenty a výzkumníky, kteří budou chtít pracovat na tomto tématu. |
eVSKP id 148637