Show simple item record

Syntaxí řízená detekce duplicitního kódu
dc.contributor.advisorBednárek, David
dc.creatorSaksa, Jakub
dc.date.accessioned2021-02-16T09:49:56Z
dc.date.available2021-02-16T09:49:56Z
dc.date.issued2020
dc.identifier.urihttp://hdl.handle.net/20.500.11956/124432
dc.description.abstractDuplicitný 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.abstractDuplicate 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.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectduplicate-code detectionen_US
dc.subjectsyntax-driven comparisonen_US
dc.subjectabstract-syntax tree annotationen_US
dc.subjectdetekce duplicitního kóducs_CZ
dc.subjectsyntaxí řízené porovnánícs_CZ
dc.subjectanotace abstraktních syntaktických stromůcs_CZ
dc.titleSyntax-driven duplicate-code detectionen_US
dc.typediplomová prácecs_CZ
dcterms.created2020
dcterms.dateAccepted2020-09-16
dc.description.departmentDepartment of Software Engineeringen_US
dc.description.departmentKatedra softwarového inženýrstvícs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId218239
dc.title.translatedSyntaxí řízená detekce duplicitního kóducs_CZ
dc.contributor.refereeKopecký, Michal
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineSoftware and Data Engineeringen_US
thesis.degree.disciplineSoftwarové a datové inženýrstvícs_CZ
thesis.degree.programInformatikacs_CZ
thesis.degree.programComputer Scienceen_US
uk.thesis.typediplomová prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra softwarového inženýrstvícs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Software Engineeringen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csSoftwarové a datové inženýrstvícs_CZ
uk.degree-discipline.enSoftware and Data Engineeringen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVelmi dobřecs_CZ
thesis.grade.enVery gooden_US
uk.abstract.csDuplicitný 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.enDuplicate 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-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra softwarového inženýrstvícs_CZ
thesis.grade.code2
uk.publication-placePrahacs_CZ
uk.thesis.defenceStatusO


Files in this item

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record


© 2025 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV