University of Twente Student Theses

Login

Generating Patch Ingredients for Search-based Program Repair using Code Language Models

Lijzenga, Oebele (2024) Generating Patch Ingredients for Search-based Program Repair using Code Language Models.

[img] PDF
1MB
Abstract:As software systems grow in size, more bugs occur, which are usually resolved manually. Manual bug localization and fixing is a costly time-consuming process, and hinders the development of new software. Search-based automated program repair (APR) techniques attempt to fix bugs in programs by searching a search space of patches using an evolutionary algorithm. Patches are constructed from code elements elsewhere in the program, also referred to as the redundancy assumption. As a result however, search-based APR techniques are not capable of fixing bugs if the required patch ingredients are not present elsewhere in the code. Previous work has attempted to treat this problem, but has failed to produce additional patch ingredients in a cost-effective manner. This study proposes ARJACLM, a novel search-based APR technique based on ARJA, which uses pre-trained code language models (CLM) to generate patch ingredients on-the-fly. Moreover, an extensive evaluation of the code generation capabilities of 20 CLMs is performed to determine which CLMs are most cost-effective, and are suitable for use in APR techniques. Results show that the performance of ARJACLM is improved by 59% when CLMs are used. Furthermore, CLM-based patch ingredients are of higher quality than their redundancy-based counterparts, and ARJACLM performs best when redundancy-based patch ingredients are omitted as a result. Moreover, the results expose several challenges involved with incorporating CLMs into a search-based technique, and provide directions for future research
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:https://purl.utwente.nl/essays/102839
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page