Zobrazit minimální záznam

Machine Learning Techniques for Source Code Pattern Recognition



dc.contributor.advisorKovalenko Alexander
dc.contributor.authorRudolf Raevskiy
dc.date.accessioned2022-06-11T22:53:16Z
dc.date.available2022-06-11T22:53:16Z
dc.date.issued2022-06-11
dc.identifierKOS-961987405205
dc.identifier.urihttp://hdl.handle.net/10467/101935
dc.description.abstractAutomatizované porozumění sémantice kódu je klíčové pro vývojáře při psaní spolehlivého a optimalizovaného kódu. V posledních letech roste zájem o aplikaci strojového učení ve zdrojovém kódu s cílem automaticky odhalovat chyby, komentovat kód nebo jej pochopit a vylepšit. Tato práce uvádí techniky hlubokého učení aplikované na různé úrovně abstrakce zdrojového kódu. Experimentujeme se souborem dat, který se skládá ze zdrojového kódu jazyka R. Jazyk R má velkou komunitu převážně statistiků. Knihovny jazyka R však mají tendenci obsahovat neoptimální kód. Hlavním přínosem této práce je model natrénovaný na velkém souboru dat R, který je prvním krokem k automatizovanému nástroji pro psaní lepšího kódu R. Zaměřujeme se především na abstraktní syntaktické stromy (Abstract Syntax Trees, AST), ale uvažujeme i o jiných formách reprezentace. Různé abstrakce přidávají vstupním datům strukturu, a pomáhají tak lépe zobecňovat soubory dat. Trénujeme a vyhodnocujeme několik modelů založených na různých reprezentacích kódu. Jako hlavní model pro tuto úlohu byla vybrána architektura založená na transformerech, protože v této oblasti dosahuje lepších výsledků než jiné modely. Trénování modelu na velkém souboru dat R je prvním krokem k automatizovanému nástroji pro psaní lepšího kódu R. Výsledkem je RASTaBERTa, který je podle nás, nejmodernějším modelem založeným na transformátorech pro jazyk R a může být použit k dalšímu trénování pro specifické úlohy, jako je klasifikace, detekce chyb a anomálií, oprava chyb atd.cze
dc.description.abstractThe automated understanding of code semantics is crucial for helping developers write reliable and optimized code. In recent years, there has been a growing interest in applying machine learning to source code, with the aim of automatically discovering bugs, commenting or understanding and improving the code. This work reports deep learning techniques applied to various levels of abstraction of the source code. We experiment with a dataset consisting of R language source code. R language has a large community of mostly statisticians. However, R libraries are prone to have suboptimal code. The main contribution of this work is a model trained on a large R dataset, which is the first step toward an automated tool to write a better R code. We primarily focus on Abstract Syntax Trees (AST), considering other representations forms just as well. Different abstractions add a structure to the input and therefore help to better generalize across the dataset. We train and evaluate several models based on various code representations. The transformer-based architecture was chosen as a backbone model for the current task, as it outperforms its counterparts in this domain. Training a model on a large R dataset is the first step toward automatized tool to write a better R code. As a result of RASTaBERTa, which is, to the best of our knowledge, the state-of-the-art transformer-based model for the R language and can be used for further training for specific tasks such as classification, bugs, and anomalies detection, bug-fix, etc.eng
dc.publisherČeské vysoké učení technické v Praze. Vypočetní a informační centrum.cze
dc.publisherCzech Technical University in Prague. Computing and Information Centre.eng
dc.rightsA university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmleng
dc.rightsVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.htmlcze
dc.subjectZdrojový Kódcze
dc.subjectStrojové Učenícze
dc.subjectTransformerycze
dc.subjectGrafycze
dc.subjectEmbeddingcze
dc.subjectPodobnostcze
dc.subjectSource Codeeng
dc.subjectMachine Learningeng
dc.subjectTransformerseng
dc.subjectGraphseng
dc.subjectEmbeddingeng
dc.subjectSimilarityeng
dc.titleTechniky strojového učení pro rozpoznávání vzorů zdrojového kóducze
dc.titleMachine Learning Techniques for Source Code Pattern Recognitioneng
dc.typebakalářská prácecze
dc.typebachelor thesiseng
dc.contributor.refereeDonat-Bouillud Pierre
theses.degree.disciplineZnalostní inženýrstvícze
theses.degree.grantorkatedra aplikované matematikycze
theses.degree.programmeInformatika 2009cze


Soubory tohoto záznamu




Tento záznam se objevuje v následujících kolekcích

Zobrazit minimální záznam