Title: Generování zdrojových kódů na základě popisu v přirozeném jazyce
Other Titles: Source Code Generation from Descriptions in a Natural Language
Authors: Pašek, Jan
Advisor: Konopík Miloslav, Ing. Ph.D.
Referee: Habernal Ivan, Ing. Ph.D.
Issue Date: 2022
Publisher: Západočeská univerzita v Plzni
Document type: diplomová práce
URI: http://hdl.handle.net/11025/49093
Keywords: strojové učení;zpracování přirozeného jazyka;neuronové sítě;generování zdrojového kódu;syntéza kódu
Keywords in different language: machine learning;natural language processing;neural networks;source code generation;code synthesis
Abstract: Tato diplomová práce představuje CodeFormer, nový model neuronové sítě, schopný na základě popisu úlohy v anglickém jazyce generovat funkce v programovacím jazyce Python. Tento model, založený na architektuře modelu BART, je předtrénovaný na 230 milionech funkcích získaných z veřejných GitHub repozitářů. Po dotrénování na CodeSearchNet datasetu náš model překonává konkurenční modely a nastavuje tak nové state of the art s 46,12 BLEU, což představuje zlepšení o 13,86 BLEU. Vedle CodeFormer modelu tato práce představuje nový Stack Overflow Code Generation Dataset (SOCGD), který je určený k trénování generativních modelů zdrojových kódů. Na tomto datasetu náš model dosahuje výsledku 47,68 BLEU. Výsledný model lze integrovat do vývojových prostředí a umožnit tak programátorům generovat části zdrojových kódů s cílem zvýšit efektivitu jejich práce. V rámci našeho výzkumu jsme také objevili lepší přístup k trénování modelu BART na úloze strojového překladu. Použitelnost tohoto přístupu na jiných doménách je třeba ověřit v navazující práci.
Abstract in different language: This work introduces CodeFormer, a Python source code generator pre-trained on a massive GitHub crawl consisting of 230M Python functions. The released model, built on BART architecture, generates Python functions based on descriptions in English. On a CodeSearchNet dataset, the CodeFormer sets a new state of the art with 46.12 BLEU, representing an improvement of 13.86 BLEU. We also release a new parallel corpus for code generation called Stack Overflow Code Generation Dataset (SOCGD), on which our model sets a baseline of 47.68 BLEU. The resulting model is ready to be integrated into a source code suggestion system in an IDE, where it can improve software developers' productivity. During our research, we discovered a better way of training the BART for machine translation. However, the applicability of our approach to other domains must be verified in subsequent work.
Rights: Plný text práce je přístupný bez omezení
Appears in Collections:Diplomové práce / Theses (KIV)

Files in This Item:
File Description SizeFormat 
A20N0098P_DP.pdfPlný text práce2,67 MBAdobe PDFView/Open
A20N0098Pposudek-op.pdfPosudek oponenta práce41,27 kBAdobe PDFView/Open
A20N0098Phodnoceni-ved.pdfPosudek vedoucího práce128,43 kBAdobe PDFView/Open
A20N0098Pobhajoba.pdfPrůběh obhajoby práce584,11 kBAdobe PDFView/Open


Please use this identifier to cite or link to this item: http://hdl.handle.net/11025/49093

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.