Daily Arxiv

This is a page that curates AI-related papers published worldwide.
All content here is summarized using Google Gemini and operated on a non-profit basis.
Copyright for each paper belongs to the authors and their institutions; please make sure to credit the source when sharing.

Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair

Created by
  • Haebom

Author

Qiong Feng, Xiaotian Ma, Jiayi Sheng, Ziyuan Feng, Wei Song, Peng Liang

Outline

In this paper, we propose a novel framework, DEVLoRe, that leverages various software information to improve the performance of large-scale language model (LLM)-based automatic program repair (APR) techniques. DEVLoRe finds buggy methods by utilizing issue descriptions (descriptions and messages) and stack error trace information, and generates executable patches by identifying buggy lines based on debug information, issue descriptions, and stack error information. Experimental results using Defects4J v2.0 dataset and SWE-bench Lite show that DEVLoRe outperforms existing state-of-the-art APR methods, and in particular, issue descriptions are effective in identifying fault locations and repairing programs in LLM. We also discuss the possibility of applying the framework specialized for Python code to Java code. The source code and experimental results are publicly available.

Takeaways, Limitations

Takeaways:
We demonstrate that the accuracy and efficiency of LLM-based APR can be improved by integrating various software information (issue content, stack error trace, and debug information).
We experimentally demonstrate that issue content plays an important role in LLM-based APR.
Achieves superior performance over existing state-of-the-art APR methods.
Ensuring reproducibility of research through disclosure of source code.
Limitations:
Only the evaluation results for Defects4J v2.0 and SWE-bench Lite datasets are presented, so further study is needed to determine generalizability to other datasets.
Discussion of the applicability of Python code frameworks to Java code is limited and requires more detailed analysis.
The results are predominantly for a specific programming language (Java), so consideration should be given to extending the results to other languages.
👍