DVOŘÁK, V. Inkrementální statická analýza pro jazyk YARA [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.

Posudky

Posudek vedoucího

Regéciová, Dominika

Student se seznámil s problematikou inkrementálních parserů a jejich použití pro analýzu zdrojových kódů v textových editorech a integrovaných vývojových prostředích. Navrhl a implementoval knihovnu, která umožnuje statickou analýzu jazyka YARA za využití algoritmu pro inkrementální parsování, a která je již nyní aktivně používaná ve společnosti Gen. Výsledek student otestoval a porovnal s předchozí verzí řešení, u čehož bylo zjištěno výrazné zrychlení analýzy. Řešení bude rovněž zveřejněno jako open-source projekt. K práci přistupoval aktivně a samostatně. Z těchto důvodů navrhuji hodnocení za A.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Zadání považuji za náročnější. Student si musel nastudovat teorii inkrementálních parserů a jejich použití pro analýzu zdrojových kódů v textových editorech a integrovaných vývojových prostředích (IDE). Student se rovněž musel seznámit s již existujícími systémy společnosti a stejně tak open-source nástroji, aby mohl navrhnout a implementovat řešení pro knihovnu za použití inkrementálního parsování. Zadání pak bylo splněno ve všech bodech.
Práce s literaturou Student si hledal zdroje informací aktivně sám. Čerpal především z technických dokumentací, ale i odborných publikací. Řádně citoval a odkazoval se na použité zdroje.
Aktivita během řešení, konzultace, komunikace Student pracoval na zadání hned od začátku, dodržoval dohodnuté termíny. Práci pravidelně konzultoval, jak se mnou, tak odborným konzultantem. K práci přistupoval aktivně a přecházel s originálními řešeními problémů.
Aktivita při dokončování Práce, především realizační část, byla dokončena v předstihu. Finální podoba byla dostatečně konzultována.
Publikační činnost, ocenění Výsledky práce studenta budou zveřejněny jako součást open-source projektu Yaramod.
Navrhovaná známka
A
Body
96

Posudek oponenta

Kolář, Dušan

Práce měla jistě velký potenciál, ale dle mého chyběly síly na posledních pár metrech před cílem. Například by mě zajímalo, proč je použita GLR, když gramatika určitě může být jednoznačná? Taky to, proč je iniciační analýza tak pomalá? Kde je nějaké zdůvodnění kroků při řešení, experimenty, apod. Dojem hodně kazí, že kód odevzdaný v IS nelze podle návodu sestavit. Náročnější práci, pěkně zpracovanou tak nelze hodnotit jako vynikající.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Zadání hodnotím jako obtížnější, neboť bylo třeba nastudovat techniky částečného rozkladu programovacího jazyka a techniky a nástroje spojené s touto tehcnologií, což je nad rámec bakalářského studia.
Rozsah splnění požadavků zadání
Rozsah technické zprávy Text je sice v obvyklém rozmezí, ale někde působí rozvláčně (úvodní partie), jinde zase informačně chudě (konec práce).
Prezentační úroveň technické zprávy 85 Kapitoly na sebe sice navazují, ale někde je text až populárně-naučný, jinde zase něco chybí, nebo jsme odkazováni na soubory v příloze (např. testování).
Formální úprava technické zprávy 90 Po formální stránce je práce úpravná, jen s drobnými překlepy a 2 systematickými chybami (např.  "ladící" místo "ladicí", nebo "řídící" místo "řídicí").
Práce s literaturou 90 Volba pramenů je vhodná pro daný typ práce.
Realizační výstup 50 Ač jsem postupoval podle návodu, v čerstvé instalaci aktuálního Kubuntu, tak tree-sitter se sice podařilo sestavit, základní testy proběhly, ale náročné testy dept_test.py selhaly. Hlavní program se nepodařilo sestavit vůbec (cmake v pohodě, make spadl na chybu). Komentované jsou jen halvičkové soubory, ostatní mají jen hlavičku s autorem.
Využitelnost výsledků Dle vyjádření výsledků je programová sestava funkční, takže je na pracovišti běžně využívána.
Navrhovaná známka
B
Body
80

eVSKP id 145037