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

Loading...
Thumbnail Image
Date
ORCID
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
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.
The thesis describes the design and implementation of a plagiarism tool for programming languages C, Python and PHP. It describes techniques that are used to cover a plagiarism. The aim of this work is to create a tool for detection and visualization of plagiarisms covered up using these techniques. The tool performs detection by transforming input projects into an abstract syntactic tree, which is obtained by lexical and syntactic analysis. These trees will be compared by a proposed algorithm that uses node and subtree valuation using the {hash} function. The found parts of the code that could potentially lead to plagiarism are visualized in the form of a subtree of an abstract syntactic tree that represents the parts of the code found by the tool. Further, the work  describes testing of this tool on identified plagiarism techniques and specifies which of them it can eliminate. In its conclusion, the work describes the possible further development of the tool.
Description
Citation
BANČÁK, M. Nástroj na vizualizaci plagiátů v různých programovacích jazycích [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2019.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační systémy
Comittee
prof. Ing. Tomáš Hruška, CSc. (předseda) doc. Dr. Ing. Dušan Kolář (místopředseda) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Mgr. Kamil Malinka, Ph.D. (člen) doc. Ing. Jiří Rybička, Dr. (člen) RNDr. Marek Rychlý, Ph.D. (člen)
Date of acceptance
2019-06-20
Defence
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: 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í?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO