Automata Theory Used to Detect Plagiarism
Loading...
Date
Authors
Beňuš, Alexej
ORCID
Advisor
Referee
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
{Bakalářská práce se zabývá hledáním a rozpoznáváním plagiátorství v programovacím jazyce C++. Jaké metody existují, které jsou nejefektivnější a zároveň ukazuje slabiny těchto metod. Samotný program je naprogramován v C++, s využitím nástroje Clang pro generaci abstraktních syntaktických stromů. Vygenerované stromy se nadále porovnávají různými metodami - statistickou, která počítá a porovnává počty programovacích konstrukcí, algoritmy pro řetězcové porovnávání jako Levenshteinova vzdálenost a nejdelší společný podřetězec a konečně porovnávání stromů, která se soustředí na metodu porovnávání pomocí hashování stromů. Hlavní zaměření práce bylo na strukturální porovnávání C++ programů. Je uvedeno a otestováno několik různých porovnávacích metod. Je také uvedeno nastavení dalších parametrů pro zpřesnění detekce. Po dokončení porovnání, je vypsáno skóre, které podle definované funkce rozhodne zda jsou soubory plagiátorství nebo nikoliv. Také jsou shrnuty některé problémy a slepé uličky v rámci implementace a detekce.
The bachelor's thesis addresses the detection and recognition of plagiarism in the C++ programming language. Which algorithms exist, which methods are the most effective and also showing their weaknesses. The program itself is coded in C++, utilizing Clang for the generation of abstract syntax trees. Generated trees are compared different techniques - statistic comparison utilizing counting and comparing number of coding constructs, string difference operations like Levenshtein distance and longest common substring and finally tree comparison operations which goes deep into comparison of trees using hashes. Main focus was on the structural comparison of C++ programs. Multiple comparison techniques are presented with testing and results. Additional parameters like minimum match size are also presented to make the comparison more precise. After comparison is done, score is presented and with defined functions it is shown if files are or are not plagiarism. Some problems with detection and implementation are also summarized in the text.
The bachelor's thesis addresses the detection and recognition of plagiarism in the C++ programming language. Which algorithms exist, which methods are the most effective and also showing their weaknesses. The program itself is coded in C++, utilizing Clang for the generation of abstract syntax trees. Generated trees are compared different techniques - statistic comparison utilizing counting and comparing number of coding constructs, string difference operations like Levenshtein distance and longest common substring and finally tree comparison operations which goes deep into comparison of trees using hashes. Main focus was on the structural comparison of C++ programs. Multiple comparison techniques are presented with testing and results. Additional parameters like minimum match size are also presented to make the comparison more precise. After comparison is done, score is presented and with defined functions it is shown if files are or are not plagiarism. Some problems with detection and implementation are also summarized in the text.
Description
Citation
BEŇUŠ, A. Automata Theory Used to Detect Plagiarism [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. Ing. Radek Burget, Ph.D. (předseda)
doc. Ing. Petr Motlíček, Ph.D. (člen)
doc. Ing. Petr Matoušek, Ph.D., M.A. (člen)
Mgr. Kamil Malinka, Ph.D. (člen)
Ing. Bohuslav Křena, Ph.D. (člen)
Date of acceptance
2024-08-21
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.
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení