Detail práce

Nástroj na vizualizaci plagiátů v různých programovacích jazycích

Diplomová práce Student: Bančák Michal Akademický rok: 2018/2019 Vedoucí: Křivka Zbyněk, Ing., Ph.D.
Název anglicky
Tool for Visualization of Plagiarism in Several Programming Languages
Jazyk práce
český
Abstrakt

Práca sa zaoberá návrhom a implementáciou nástroja na detekciu plagiátov v programovacích jazykoch C, Python a PHP. Popisuje techniky, ktoré slúžia na zakrytie plagiátorstva. Cieľom práce je vytvoriť návrh nástroja na detekciu a vizualizáciu plagiátov, ktoré využívajú tieto techniky a jeho následnú implementáciu. Nástroj vykonáva detekciu transformáciou zadaných vstupných projektov do formy abstraktného syntaktického stromu, ktorý je získaný pomocou lexikálnej a syntaktickej analýzy, ktoré bude následne porovnávať navrhnutým algoritmom, ktorý využíva ohodnocovanie uzlov a podstromov pomocou \textit{hash} funkcie. Nástroj taktiež nájdené časti kódu, u ktorých mohlo potenciálne prísť k plagiátorstvu, vizualizuje vo forme podstromu abstraktného syntaktického stromu, príslušnému danej nájdenej časti kódu. Práca ďalej popisuje testovanie tohto nástroja na identifikovaných plagiátorských technikách a špecifikuje, ktoré dokáže pri detekcii obísť. Ďalej práca načrtáva možný ďalší vývoj nástroja.

Klíčová slova

Detekcia plagiátov, vizualizácia plagiátov, hash funkcia, ANTLR, stromový prístup, abstraktný syntaktický strom.

Ústav
Studijní program
Informační technologie, obor Informační systémy
Soubory
Stav
obhájeno, hodnocení C
Obhajoba
20. června 2019
Oponent
Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.

Otázky u obhajoby
  1. Na obr. 4.4 uvádíte ukázku kódu s mnohonásobným větvením programu podle typu zpracovávaného uzlu. Bylo by možné v jazyce Java vymyslet nějaké elegantnější a efektivnější řešení?
Komise
Hruška Tomáš, prof. Ing., CSc. (UIFS FIT VUT), předseda
Janoušek Vladimír, doc. Ing., Ph.D. (UITS FIT VUT), člen
Kolář Dušan, doc. Dr. Ing. (UIFS FIT VUT), člen
Malinka Kamil, Mgr., Ph.D. (UITS FIT VUT), člen
Rybička Jiří, doc. Ing. Dr. (Mendelu), člen
Rychlý Marek, RNDr., Ph.D. (UIFS FIT VUT), člen
Citace
BANČÁK, Michal. Nástroj na vizualizaci plagiátů v různých programovacích jazycích. Brno, 2019. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2019-06-20. Vedoucí práce Křivka Zbyněk. Dostupné z: https://www.fit.vut.cz/study/thesis/18415/
BibTeX
@mastersthesis{FITMT18415,
    author = "Michal Ban\v{c}\'{a}k",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "N\'{a}stroj na vizualizaci plagi\'{a}t\r{u} v r\r{u}zn\'{y}ch programovac\'{i}ch jazyc\'{i}ch",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2019,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/18415/"
}
Nahoru