BRABLEC, T. Statická analýza programů pracujících s dynamickou pamětí s využitím separační logiky [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Student se výborně zhostil zadání náročného po teoretické i implementační stránce, výsledek výrazně přesáhl očekávání – analyzátor implementovaný v rámci práce je konkurenceschopný state-of-the-art nástrojům a řadu z nich i překonává. Studentova práce navíc pomohla výzkumu rozhodovacích procedur pro separační logiku díky odhalení několika chyb v nástroji Astral (některé z nich student sám opravil) a vytvoření velké sady formulí pro experimenty. Z výše zmíněných důvodů hodnotím práci jako výbornou a navrhuji komisi zvážit její ocenění.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Cílem zadání bylo vytvořit nástroj pro verifikaci programů pracujících s dynamicky alokovanou pamětí a variantami vázaných seznamů, založený na separační logice (SL) a nástroji Astral pro její rozhodování. Na rozdíl od existujících přístupů, které nevyužívají dedikovaný solver pro SL, je tak dosaženo lepší modularity a potenciálně přesnějších výsledků. Zadání považuji za nadprůměrně obtížné po teoretické i implementační stránce. Vyžadovalo nastudování řady oblastí, které nejsou běžnou součástí bakalářského studia – verifikaci programů, separační logiku a implementaci ve funkcionálním jazyce OCaml. Dalším náročným aspektem je nutnost implementace v rámci platformy Frama-C, zahrnující i nastudování jejích interních částí, které jsou ne vždy zdokumentovány. | ||
| Práce s literaturou | Student byl schopný nastudovat relevantní články v angličtině. Během práce si sám aktivně dohledával další zdroje. | ||
| Aktivita během řešení, konzultace, komunikace | Práce navazuje na předchozí projektovou praxi. Během celé doby spolupráce byl student velmi aktivní a pravidelně komunikoval se mnou a Tomášem Vojnarem. Na konzultace byl vždy připraven, prezentoval svůj pokrok a sám navrhoval další směry práce. | ||
| Aktivita při dokončování | Práce byla dokončena přesně tak, abych ji stihl projít a student stihl zapracovat mé připomínky k textu. Chybějící větší předstih byl důsledkem studentovy snahy ještě vylepšit implementaci. | ||
| Publikační činnost, ocenění | Výstupem práce je open source implementace analyzátoru KTSN dostupná na serveru GitHub. Práce zaujala kolegy z CEA-List v Paříži vyvíjející platformu Frama-C, kteří také projevili zájem o integraci studentova analyzátoru s dalšími pluginy Frama-C. Práce tak může v budoucnu vést k rozšíření spolupráce mezi FITem a CEA. Práce byla dále prezentována na studentské konferenci EXCEL@FIT 2025. V plánu je účast na mezinárodní soutěži ve verifikaci SV-COMP 2026 (dle současných experimentů by se studentův analyzátor umístil třetí v podkategorii LinkedLists) na podzim letošního roku. |
Celkově se jedná o povedenou práci, kterou s ohledem na mírně náročnější zadání navrhuji hodnotit známkou B.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | Zadání by bez problému posloužilo jako průměrně obtížné zadání diplomové práce. Na bakalářském stupni ho hodnotím jako mírně obtížnější. | ||
| Rozsah splnění požadavků zadání | |||
| Rozsah technické zprávy | |||
| Prezentační úroveň technické zprávy | 75 | Práce má logickou strukturu a kapitoly na sebe navazují. Část experimenty, jakožto stěžejní část práce, by si zasloužila lepší popis některých částí (viz níže). Konkrétní připomínky jsou následující: Kapitola 1: mezi 3. a 4. odstavcem je pro čtenáře neočekávaný skok kontextu. Figure 3: obrázek není dobře zaintegrován do textu. Správně by patřil do sekce 6.2. K tomu mi navíc chybí detailnější popis výsledků v tabulce, které mohou být pro čtenáře zajímavé. Strana 31: Není jasné proč jsou časy uvedeny jen u 3 programů, zatímco další 3 jsou bez výsledků. Strana 32: Opět jen 3 výsledky namísto sedmi. Strana 33, tabulka 1: Nevysvětleno, co znamenají řádky "Correct (true)", "Correct (false)", "Incorrect (true)" a "Incorrect (false)". | |
| Formální úprava technické zprávy | 90 | Práce je psána anglicky a je bez problému čitelná a pochopitelná. Po formální stránce k ní nemám žádné vážné výtky. | |
| Práce s literaturou | 85 | Všechny použité zdroje jsou citovány. Sám bych uvedl některé citace již do kapitoly 1 u první zmínky o příslušné technice, nicméně jejich uvedení až v kapitole 2 nepovažuji za zásadní chybu. | |
| Realizační výstup | 90 | Realizačním výstupem je analyzátor KTSN postaveny nad frameworkem Frama-C, je plně funkční a byl testován na sadě příkladů včetně testovacích programů ze soutěže SW-COMP. | |
| Využitelnost výsledků | Výsledek může dále posloužit pro další studenty při vytváření analyzátoru nad nástrojem Frama-C. Stejně tak může posloužit jako základ pro další testování budoucích rozšíření nástroje Astral. |
eVSKP id 163339