Automatic Generation of Code Change Patterns
but.committee | prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. František Grézl, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen) | cs |
but.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 D. | cs |
but.jazyk | angličtina (English) | |
but.program | Informační technologie | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Vojnar, Tomáš | en |
dc.contributor.author | Kříž, Daniel | en |
dc.contributor.referee | Vašíček, Ondřej | en |
dc.date.created | 2023 | cs |
dc.description.abstract | Cílem této bakalářské práce je navržení metody automatického generování šablon změn kódu v jazyce LLVM IR pro DiffKemp, nástroj pro analýzu sémantických rozdílů mezi verzemi rozsáhlých programů. Dále je cílem umožnit automatické parametrizování změn mezi verzemi projektu pomocí hodnot, globálních proměnných a strukturových typů. Toho bylo dosaženo pomocí nalezení společné šablony mezi změnami a následným generováním jejích variant, které se liší v použití globálních proměnných a typů. Navržené řešení je implementováno jako rozšíření nástroje DiffKemp a naše experimentování na malých programech ukázalo, že námi navržená metoda je schopná vytvořit alespoň částečně uspokojivé výsledky. | en |
dc.description.abstract | The aim of this thesis is to propose a method for automatic generation of custom code change patterns in LLVM IR language for DiffKemp, a tool for analyzing semantic differences between version of large scale projects. The goal is to enable automatic generation of changes between versions of a project with values, global variables or structure types. This has been achieved by finding the common pattern between changes and then generating its variants, which differ in usage of global variables and types. The proposed solution was implemented as an extension of DiffKemp and our experimentation on small programs shows that out proposed method is able to yield at least partially satisfactory results. | cs |
dc.description.mark | D | cs |
dc.identifier.citation | KŘÍŽ, D. Automatic Generation of Code Change Patterns [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023. | cs |
dc.identifier.other | 146333 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/211106 | |
dc.language.iso | en | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | DiffKemp | en |
dc.subject | LLVM | en |
dc.subject | LLVM IR | en |
dc.subject | statická analýza | en |
dc.subject | GNU/Linux Kernel | en |
dc.subject | automatické odvozování šablon | en |
dc.subject | automatické generování šablon | en |
dc.subject | DiffKemp | cs |
dc.subject | LLVM | cs |
dc.subject | LLVM IR | cs |
dc.subject | static analysis | cs |
dc.subject | GNU/Linux Kernel | cs |
dc.subject | automatic pattern inference | cs |
dc.subject | automatic pattern generation | cs |
dc.title | Automatic Generation of Code Change Patterns | en |
dc.title.alternative | Automatické generování šablon změn kódu | cs |
dc.type | Text | cs |
dc.type.driver | bachelorThesis | en |
dc.type.evskp | bakalářská práce | cs |
dcterms.dateAccepted | 2023-06-15 | cs |
dcterms.modified | 2023-06-15-10:32:59 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 146333 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.03.18 20:59:10 | en |
sync.item.modts | 2025.01.17 13:12:16 | en |
thesis.discipline | Informační technologie | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
thesis.level | Bakalářský | cs |
thesis.name | Bc. | cs |