Analysis the use of large language model for automated program repair
View/Open
178787.pdf (1,069Mb) (Restricted access)
Cita com:
hdl:2117/398373
Document typeBachelor thesis
Date2023-06-29
Rights accessRestricted access - confidentiality agreement
All rights reserved. This work is protected by the corresponding intellectual and industrial
property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public
communication or transformation of this work are prohibited without permission of the copyright holder
Abstract
Automated program repair (APR) is a research field that develops multiple techniques to fix software bugs automatically. For a long time, the proposed solutions were based on heuristics and patterns, but since the appearance of large language models (LLM) the number of Deep Learning-based solutions has steadily grown to the point where it has improved traditional techniques. This project tries to go further and improve the results given by these models. The proposed strategy is based on grouping multiple models previously trained in code-related tasks using different strategies. With this, it's possible to recycle published models (what reduces the hardware and environmental cost of training these models) and obtain a better base model. This work uses models trained and fine-tuned by previous work in four different code-related tasks: bugfixing (BF), assert generation (AG), mutant injection (MG) and code summarization (CS). Such models have been trained using different training techniques and data. For example, some of the models are pre-trained with the task of masked token prediction using a dataset composed of natural language and code source and then fine-tuning on a particular task. La reparació automàtica de programes (APR) és un camp d'investigació que desenvolupa múltiples tècniques capaces de corregir bugs en codi automàticament. Durant molt temps les solucions proposades es basaven en heurístiques i patrons, però des de l'aparició dels grans models de llenguatge (LLM) el nombre de solucions basades en Deep Learning ha crescut fins al punt de millorar les tècniques tradicionals. Aquest treball vol anar més enllà i millorar els resultats donats per aquests models. L'estratègia que suggerim es basa en agrupar múltiples models prèviament entrenats en tasques relacionades amb codi utilitzant diferents estratègies. Amb això, és possible reciclar models publicats (el que disminueix el cost de hardware d'entrenament dels models), i obtenir un model base millor. Aquest treball usa models entrenats per treballs anteriors en quatre tasques diferents relacionades amb codi: correcció d'errors (BF), generació d'assercions (AG), injecció de mutants (MG) i resum de codi (CS). Aquests models s'han entrenat fent servir diferents tècniques d'entrenament i dades. Per exemple, alguns dels models s'han preentrenat amb la tasca de predicció de tokens emmascarats usant un conjunt de dades compostes per llenguatge natural i codi font per després afinar-los en una tasca concreta.
SubjectsDeep learning (Machine learning), Error-correcting codes (Information theory), Aprenentatge profund, Codis correctors d'errors (Teoria de la informació)
DegreeGRAU EN CIÈNCIA I ENGINYERIA DE DADES (Pla 2017)
Files | Description | Size | Format | View |
---|---|---|---|---|
178787.pdf | 1,069Mb | Restricted access |