Please use this identifier to cite or link to this item: http://hdl.handle.net/10397/117462
PIRA download icon_1.1View/Download Full Text
Title: PReMM : LLM-based program repair for multi-method bugs via divide and conquer
Authors: Xie, L
Li, Z
Pei, Y 
Wen, Z
Liu, K
Zhang, T
Li, X
Issue Date: Oct-2025
Source: Proceedings of the ACM on programming languages, Oct. 2025, v. 9, no. OOPSLA2, 319, p. 1316-1344
Abstract: Large-language models (LLMs) have been leveraged to enhance the capability of automated program repair techniques in recent research. While existing LLM-based program repair techniques compared favorably to other techniques based on heuristics, constraint-solving, and learning in producing high-quality patches, they mainly target bugs that can be corrected by changing a single faulty method, which greatly limits the effectiveness of such techniques in repairing bugs that demand patches spanning across multiple methods. In this work, we propose the PReMM technique to effectively propose patches changing multiple methods. PReMM builds on three core component techniques: the faulty method clustering technique to partition the faulty methods into clusters based on the dependence relationship among them, enabling a divide-and-conquer strategy for the repairing task; the fault context extraction technique to gather extra information about the fault context which can be utilized to better guide the diagnosis of the fault and the generation of correct patches; the dual-agent-based patch generation technique that employs two LLM-based agents with different roles to analyze the fault more precisely and generate patches of higher-quality. We have implemented the PReMM technique into a tool with the same name and applied the tool to repair real-world bugs from datasets Defects4J V1.2 and V2.0. PReMM produced correct patches for 307 bugs in total. Compared with ThinkRepair, the state-of-the-art LLM-based program repair technique, PReMM correctly repaired 102 more bugs, achieving an improvement of 49.8%.
Keywords: Automated program repair
Context-aware repair
Divide and conquer
Large language models
Multi-method bugs
Publisher: Association for Computing Machinery
Journal: Proceedings of the ACM on programming languages 
EISSN: 2475-1421
DOI: 10.1145/3763097
Rights: This work is licensed under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0).
© 2025 Copyright held by the owner/author(s).
The following publication Xie, L., Li, Z., Pei, Y., Wen, Z., Liu, K., Zhang, T., & Li, X. (2025). PReMM: LLM-Based Program Repair for Multi-method Bugs via Divide and Conquer. Proc. ACM Program. Lang., 9(OOPSLA2), Article 319 is available at https://doi.org/10.1145/3763097.
Appears in Collections:Conference Paper

Files in This Item:
File Description SizeFormat 
Xie_PReMM_LLM-based_Program3 MBAdobe PDFView/Open
Open Access Information
Status open access
File Version Version of Record
Access
View full-text via PolyU eLinks SFX Query
Show full item record

Google ScholarTM

Check

Altmetric


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