VINARČÍK, P. Vliv AI nástrojů na kvalitu a bezpečnost kódu [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Malinka, Kamil

Jedná se o výborně zpracovanou diplomovou práci. Student byl po celou dobu řešení projektu samostatný a proaktivní, přinášel vlastní myšlenky, jak zadaný problém řešit. Práce přináší i nové zajímavé výsledky vhodné k dalšímu výzkumu. Pozitivně hodnotím i vypracování v angličtině a zisk ocenění na Excel@FIT. Dávám komisi ke zvážení, zda tuto práci nenavrhnout na jedno z možných ocenění.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Obtížnost zadání hodnotím jako nadprůměrnou, protože řeší čerstvé výzkumné téma, a vedle implementačních požadavků vyžadovala i experimentální ověření přístupu. Cílem bylo vyvinou nástroj pro automatizované testování bezpečnostních vlastností kódu generovaného pomocí LLM modelů. Výsledný framework podporuje 4 LLM modely a umožňuje další rozšíření. Součástí je i metodika evaluace zranitelností založená na MITRE. Student funkčnost experimentálně ověřil na vytvořeném datasetu vč. rozšíření o vyhodnocení vlivu prompt engineeringu. Student splnil všechny body zadání ve výborné kvalitě, výsledný nástroj plánujeme využívat k dalším výzkumům v rámci výzkumné skupiny Security@FIT. 
Práce s literaturou Student aktivně vyhledával relevantní dostupnou literaturu a vhodně ji začlenil do své práce. Student zvládl vstřebat i množství aktuálních odborných článků.
Aktivita během řešení, konzultace, komunikace K aktivitě studenta nemám jedinou výtku. Pravidelně se účastnil konzultací k DP, na které chodil připraven. Sám přicházel s nápady, jak práci dále posunout a výborně je komunikoval. Výsledky byly tvořeny průběžně. Výsledný framework byl vytvořen s velkým předstihem, což umožnilo důsledné otestování všech vlastností a robustnější experimenty. Student měl vědecký a systematický přístup. 
Aktivita při dokončování Student obsah práce konzultoval průběžně a její definitivní obsah mi byl zaslán k připomínkování v dostatečném předstihu. Všechny mé připomínky k práci byly zapracovány.
Publikační činnost, ocenění Účast na Excel@FIT 2024 a zisk ocenění partnery z průmyslu. Výsledky rozšířených experimentů plánujeme publikovat na vhodné konferenci.
Navrhovaná známka
A
Body
95

Posudek oponenta

Holop, Patrik

Študent úspešne naštudoval problematiku generovania zdrojového kódu pomocou modelov umelej inteligencie a vytvoril nástroj, ktorý vyhodnocuje bezpečnostné aspekty takto generovaného kódu. V rámci experimentácie vyhodnotil jednotlivé prístupy a modely, pričom závery sú relevantné z pohľadu aktuálnych trendov v oblasti kybernetickej bezpečnosti. Výslednú kvalitu práce čiastočne znižuje jej formálna stránka a typografické aspekty.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Pre splnenie zadania sa študent musel zoznámiť s problematikou generovania zdrojového kódu pomocou metód umelej inteligencie. Následne bolo nutné sa zoznámiť s metódami a nástrojmi automatizovanej analýzi zdrojového kódu z bezpečnostného hľadiska. Na základe získaných znalostí musel študent navrhnúť a implementovať nástroj, ktorý by oba prístupy integroval a vyhodnocoval bezpečnostné aspekty generovaného zdrojového kódu a diskutovať možné zlepšenia existujúcich riešení.
Rozsah splnění požadavků zadání Výsledné riešenie splnilo všetky body zadania. Študent úspešne navrhol a implementoval nástroj formou webovej aplikácie. Aplikácia pomocou dvoch primárnych prípadov použitia úspešne poskytuje rôzne formy bezpečnostnej analýzi generovaného kódu pomocou vybraných nástrojov statickej analýzi. V rámci experimentácie študent dostatočne vyhodnotil bezpečnostné aspekty generovaného kódu a diskutuje možné vylepšenia vytvoreného nástroja.
Rozsah technické zprávy Podľa aplikácie https://app.fit.vut.cz/normostrany , vyvinutej pre fakultné využitie, má práca 100 normostrán. Tým sa zaraďuje na hornú hranicu obvyklého rozsahu diplomovej práce.
Prezentační úroveň technické zprávy 80 Jednotlivé kapitoly na seba logicky nadväzujú a text práce je napísaný zrozumiteľne. V úvode práce študent popisuje motiváciu, prínosy práce a štruktúru textu. Výhradu mám ku kapitole 2 Related Work, ktorej obsah by mal byť integrovaný do zvyšných kapitol teoretickej časti práce a návrhu nástroja. Kapitola 3 Selected Artificial Intelligence for Security Research popisuje jednotlivé modely a nástroje umelej inteligencie, názov kapitoly by dal zobecniť. Kapitola 4 popisuje problematiku bezpečnosti zdrojového kódu, metodológiu na jej vyhodnotenie a nástroje, ktoré ju dokážu automatizovane vyhodnocovať. Sekcia 4.1 (Methodology) by benefitovala z podrobnejšieho odborného popisu a diskusie k jednotlivým matematickým vzorcom, napr. Impact Sub-Score. V kapitole by sa mala nachádzať i sekcia diskutujúca dynamickú analýzu kódu pre porovnanie so statickou analýzou. V kapitolách 5 a 6 študent popisuje návrh a implementáciu vytvoreného nástroja, rozhranie jednotlivých modelov i samotnej aplikácie. V kapitole 7 je v rámci experimentácie podrobne vyhodnotená validita generovaného kódu, bezpečnostné aspekty výstupov jednotlivých nástrojov a ich vzájomné porovnanie. Záver práce sumarizuje získané výsledky a diskutuje možné vylepšenia práce. Drobná výhrada je ku kapitole 8 Conclusion, ktorá by mala byť poslednou kapitolou a sumarizovať i poznatky v rámci kapitoly 9 Future Work.
Formální úprava technické zprávy 70 Text práce je písaný v anglickom jazyku. V texte sa príležitostne vyskytujú gramatické chyby, nesprávny slovosled, nesprávny formát úvodzoviek, použitie čiarok, ukončenia viet. V rozšírenom abstrakte sa vyskytujú skloňované anglicizmy. Strana č. 5 je takmer prázdna, čo nepôsobí pozitívne z hľadiska prezentácie textu. V sekciách opakovane chýba úvodný popis (napr. 4.1), na druhú stranu sa v texte často vyskytujú väčšie prázdne úseky kvôli nesprávnemu zalomeniu textu, napr. v úvode kapitoly 5. Diagramy sú prezentované nevhodnými grafickými prvkami a farbami, ktoré komplikujú ich prehľadnosť, napr. obrázok 5.1 a 5.3. V kapitole 7 sa vyskytujú značne rozsiahle tabuľky vhodné ako prílohy práce. Formát jednotlivých tabuliek sa v rámci práce mení, taktiež ich škálovanie, napr. tabuľka 7.26 a 7.28. V práci sa príležitostne vyskytujú nesprávne formátované citačné odkazy na začiatkoch riadkov. Ukážky kódov Listing 4.1 a 4.2 sú v texte zduplikované.
Práce s literaturou 85 Rozsah a kvalita literárnych zdrojov využitých študentom je dostatočná. Študent využíva relevantnú literatúru ako aktuálne vedecké články, odkazuje sa i na technickú dokumentáciu a odborné blogy. Výhradu mám k formátovaniu citačných zdrojov, napr. názvy inštitúcií sú v niektorých prípadoch formátované ako mená autorov, napr. "Corporation, M." u zdroja 24. V úvode kapitoly 2 Related Work sú zbytočne vypisované celé názvy citovaných publikácií, a to i opakovane pre tie isté diela.
Realizační výstup 90 Vytvorené riešenie je implementované formou webovej aplikácie, ktorá poskytuje dva hlavné prípady využitia. Prvý prípad je nadstavba pre komunikáciu s jazykovými modelmi s integrovaným vyhodnotením bezpečnosti výstupu modelov, druhý je rozhranie pre experimentáciu a automatizované vyhodnotenie vybraného datasetu. Funkčnosť aplikácie bola prezentovaná osobne.
Využitelnost výsledků Forma vypracovania aplikácie umožňuje jej jednoduché rozšírenie a využitie pri praktickom výskume bezpečnosti generovaného zdrojového kódu i ako nástroj pre programátorov, ktorý čiastočne mitiguje a včasne varuje pred možným zanesením chybného kódu v rámci implementácie.
Navrhovaná známka
B
Body
80

Otázky

eVSKP id 154377