BLÁHOVÁ, B. Detekce podobnosti zdrojových kódů [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2020.

Posudky

Posudek vedoucího

Kašpar, Jakub

Studentka Barbora Bláhová vypracovala bakalářskou práci na téma 'Detekce podobnosti zdrojových kódů'. Tuto problematiku nastudovala a vypracovala literární rešerši v této oblasti. Dále pak v programovém prostředí Python vytvořila algoritmus pro předzpracování zdrojových kódů, detekci klíčových slov a proměnných a jejich vyhodnocení. Tento algoritmus otestovala na vybrané databázi studentských projektů a pro usnadnění práce s algoritmem vytvořila grafické uživatelské rozhraní. Zadání práce tedy považuji za splněné. Po formální stránce je práce na ucházející úrovni. Od úvodu po závěr má práce slabších 28 stran, z čehož je 21 věnováno procesu implementace. Práce dále obsahuje 14 českých i zahraničních zdrojů. V práci se vyskytuje minimum překlepů a je řádně formátována. Po odborné stránce je práce rovněž na ucházející úrovni. Vytknout musím akorát to, že vyhodnocení podobnosti dvou kódů je založeno pouze na jednoduché četnosti klíčových slov v obou kódech. Naopak vyzdvihnout musím úsilí studenty při implementaci problematiky v pro ni doposud neznámém programovém prostředí Python. Studentka během roku pravidelně konzultovala a prokázala pochopení dané problematiky. Práci tedy doporučuji obhajobě a hodnotím ji stupněm B/85 bodů.

Navrhovaná známka
B
Body
85

Posudek oponenta

Harabiš, Vratislav

Studentka se ve své práci věnovala oblasti detekci podobnosti zdrojových kódů. V teoretické části práce se studentka zabývá problematikou plagiátů ve zdrojových kódech a následuje popis existujících přístupů k odhalování plagiátů. Bohužel tuto část nepovažuji za dostatečnou. Studentka popisuje existující detektory podobností, mezi které patří MOSS, Codequiry a JpLag. U detektoru MOSS cituje stránky projektu, ale zcela ignoruje článek, který podrobněji probírá fungování systému a vnáší hlubší pohled do problematiky. Chybí mi zde také bližší náhled na problematiku náročnosti používaných metod. Literární rešerši tak nepovažuji za plně dostatečnou. V praktické části práce studentka navrhla a implementovala vlastní nástroj pro předzpracování a detekci plagiátů v zdrojových souborech formátu Matlab. Samotný nástroj je implementován pomocí jazyka Python. Považuji za poněkud zvláštní kapitolu „3.1.1 – Možné problémy se zpracováním“. Tohle jsou specifika daného programu a je potřeba s tímto pracovat tak, jak je definována jeho syntaxe. Nicméně navržený systém je funkční a je schopen detekovat možné plagiáty. Co se týče testování dosažených výsledků, tak je zde navržené řešení porovnáno pouze s nástrojem Codequiry. Poněkud zde postrádám porovnání i s dalšími nástroji jako je MOSS a JPlag. Po odborné stránce považuji práci za spíše slabší, ale zadání práce považuji za splněné pouze s drobnými výhradami. Po formální stránce práce je práce na dobré úrovní, vytýkám pouze popisky tabulek, kdy ty se mají umisťovat nad tabulku. S ohledem na uvedené nedostatky navrhuji hodnocení 60/D.

Navrhovaná známka
D
Body
60

Otázky

eVSKP id 126692