| dc.contributor.advisor | Bednárek, David | |
| dc.creator | Saksa, Jakub | |
| dc.date.accessioned | 2021-02-16T09:49:56Z | |
| dc.date.available | 2021-02-16T09:49:56Z | |
| dc.date.issued | 2020 | |
| dc.identifier.uri | http://hdl.handle.net/20.500.11956/124432 | |
| dc.description.abstract | Duplicitný kód sa vyskytuje v zdrojových súboroch z rôznych dôvodov. V mnohých prípadoch je motiváciou pre kopírovanie kódu lenivosť programátora, alebo pokus o použitie cudzieho zdrojového kódu. V priebehu rokov bolo vyvinutých niekoľko metód na detekciu duplicitného zdrojového kódu. Prístupy k problému sa líšia v spôsobe akým porovnávajú zdrojové súbory. Metódy založené na anlýze syntaktických vlastností kódu často používajú abstraktné syntaktické stromy. Skúmaním stromovej reprezentácie sú tieto metódy schopné odhaliť duplicitný kód, ktorý prešiel zmenami formátovania ako aj premenovaním identifikátorov. Fragmenty duplicitného kódu sú odhalené identifikovaním podstromov s rovnakým tvarom. Po nájdení podozrivých častí stromu nasleduje hlbšia analýza vlastností stromu za účelom odhalenia duplikátov. Ako súčasť tejto práce sme vyvinuli nástroj na detekciu duplicitného zdrojového kódu na základe porovnávania abstraktných syntaktických stromov. | cs_CZ |
| dc.description.abstract | Duplicate code occurs in source files for different reasons. In many cases the motivation for copying the code is laziness of a programmer, or an attempt to use an alien source code. Over the years, multiple methods for detection of the duplicate source code have been developed. Approaches vary in the ways they analyze the code, focusing on different representations of the program. Methods based on the analysis of the syntactic properties of the source code often use abstract syntax trees. By examining the tree representation instead of the textual representation of the code, these methods are able to detect duplicate code that underwent formatting changes as well as changes to the names of identifiers. Duplicate code fragments are discovered by identifying the subtrees of the same shape. After the suspicious parts of the tree are identified, further examination of AST properties determines to what extent the code was copied. In this work we develop a system for duplicate code detection based on AST comparison. | en_US |
| dc.language | English | cs_CZ |
| dc.language.iso | en_US | |
| dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
| dc.subject | duplicate-code detection | en_US |
| dc.subject | syntax-driven comparison | en_US |
| dc.subject | abstract-syntax tree annotation | en_US |
| dc.subject | detekce duplicitního kódu | cs_CZ |
| dc.subject | syntaxí řízené porovnání | cs_CZ |
| dc.subject | anotace abstraktních syntaktických stromů | cs_CZ |
| dc.title | Syntax-driven duplicate-code detection | en_US |
| dc.type | diplomová práce | cs_CZ |
| dcterms.created | 2020 | |
| dcterms.dateAccepted | 2020-09-16 | |
| dc.description.department | Department of Software Engineering | en_US |
| dc.description.department | Katedra softwarového inženýrství | cs_CZ |
| dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
| dc.description.faculty | Faculty of Mathematics and Physics | en_US |
| dc.identifier.repId | 218239 | |
| dc.title.translated | Syntaxí řízená detekce duplicitního kódu | cs_CZ |
| dc.contributor.referee | Kopecký, Michal | |
| thesis.degree.name | Mgr. | |
| thesis.degree.level | navazující magisterské | cs_CZ |
| thesis.degree.discipline | Software and Data Engineering | en_US |
| thesis.degree.discipline | Softwarové a datové inženýrství | cs_CZ |
| thesis.degree.program | Informatika | cs_CZ |
| thesis.degree.program | Computer Science | en_US |
| uk.thesis.type | diplomová práce | cs_CZ |
| uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra softwarového inženýrství | cs_CZ |
| uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Software Engineering | en_US |
| uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
| uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
| uk.faculty-abbr.cs | MFF | cs_CZ |
| uk.degree-discipline.cs | Softwarové a datové inženýrství | cs_CZ |
| uk.degree-discipline.en | Software and Data Engineering | en_US |
| uk.degree-program.cs | Informatika | cs_CZ |
| uk.degree-program.en | Computer Science | en_US |
| thesis.grade.cs | Velmi dobře | cs_CZ |
| thesis.grade.en | Very good | en_US |
| uk.abstract.cs | Duplicitný kód sa vyskytuje v zdrojových súboroch z rôznych dôvodov. V mnohých prípadoch je motiváciou pre kopírovanie kódu lenivosť programátora, alebo pokus o použitie cudzieho zdrojového kódu. V priebehu rokov bolo vyvinutých niekoľko metód na detekciu duplicitného zdrojového kódu. Prístupy k problému sa líšia v spôsobe akým porovnávajú zdrojové súbory. Metódy založené na anlýze syntaktických vlastností kódu často používajú abstraktné syntaktické stromy. Skúmaním stromovej reprezentácie sú tieto metódy schopné odhaliť duplicitný kód, ktorý prešiel zmenami formátovania ako aj premenovaním identifikátorov. Fragmenty duplicitného kódu sú odhalené identifikovaním podstromov s rovnakým tvarom. Po nájdení podozrivých častí stromu nasleduje hlbšia analýza vlastností stromu za účelom odhalenia duplikátov. Ako súčasť tejto práce sme vyvinuli nástroj na detekciu duplicitného zdrojového kódu na základe porovnávania abstraktných syntaktických stromov. | cs_CZ |
| uk.abstract.en | Duplicate code occurs in source files for different reasons. In many cases the motivation for copying the code is laziness of a programmer, or an attempt to use an alien source code. Over the years, multiple methods for detection of the duplicate source code have been developed. Approaches vary in the ways they analyze the code, focusing on different representations of the program. Methods based on the analysis of the syntactic properties of the source code often use abstract syntax trees. By examining the tree representation instead of the textual representation of the code, these methods are able to detect duplicate code that underwent formatting changes as well as changes to the names of identifiers. Duplicate code fragments are discovered by identifying the subtrees of the same shape. After the suspicious parts of the tree are identified, further examination of AST properties determines to what extent the code was copied. In this work we develop a system for duplicate code detection based on AST comparison. | en_US |
| uk.file-availability | V | |
| uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra softwarového inženýrství | cs_CZ |
| thesis.grade.code | 2 | |
| uk.publication-place | Praha | cs_CZ |
| uk.thesis.defenceStatus | O | |