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.

Posudky

Posudek vedoucího

Dacík, Tomáš

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

Dílčí hodnocení
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.
Navrhovaná známka
A
Body
100

Posudek oponenta

Rogalewicz, Adam

Celkově se jedná o povedenou práci, kterou s ohledem na mírně náročnější zadání navrhuji hodnotit známkou B.

Dílčí hodnocení
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.
Navrhovaná známka
B
Body
85

Otázky

eVSKP id 163339