Enhancing Automated Program Repair through Fine-tuning and Prompt Engineering
Paul, Rishov, Hossain, Md. Mohib, Siddiq, Mohammed Latif, Hasan, Masum, Iqbal, Anindya, Santos, Joanna C. S.
–arXiv.org Artificial Intelligence
Sequence-to-sequence models have been used to transform erroneous programs into correct ones when trained with a large enough dataset. Some recent studies also demonstrated strong empirical evidence that code review could improve the program repair further. Large language models, trained with Natural Language (NL) and Programming Language (PL), can contain inherent knowledge of both. In this study, we investigate if this inherent knowledge of PL and NL can be utilized to improve automated program repair. We applied PLBART and CodeT5, two state-of-the-art language models that are pre-trained with both PL and NL, on two such natural language-based program repair datasets and found that the pre-trained language models fine-tuned with datasets containing both code review and subsequent code changes notably outperformed each of the previous models. With the advent of code generative models like Codex and GPT-3.5-Turbo, we also performed zero-shot and few-shots learning-based prompt engineering to assess their performance on these datasets. However, the practical application of using LLMs in the context of automated program repair is still a long way off based on our manual analysis of the generated repaired codes by the learning models.
arXiv.org Artificial Intelligence
Jul-21-2023
- Country:
- Asia > Bangladesh
- Dhaka Division > Dhaka District > Dhaka (0.04)
- Europe
- Belgium > Brussels-Capital Region
- Brussels (0.04)
- Ireland > Leinster
- County Dublin > Dublin (0.04)
- Belgium > Brussels-Capital Region
- North America
- Dominican Republic (0.04)
- United States
- Minnesota > Hennepin County
- Minneapolis (0.14)
- New York > New York County
- New York City (0.05)
- Minnesota > Hennepin County
- Asia > Bangladesh
- Genre:
- Research Report > New Finding (1.00)
- Industry:
- Information Technology (0.46)
- Technology: