Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation
Thanh Le-Cong, Bach Le, Toby Murray

TL;DR
This paper introduces FLAMES, a memory-efficient large language model-based program repair method that uses semantic-guided patch generation and greedy decoding to improve repair effectiveness while significantly reducing memory usage.
Contribution
FLAMES is a novel approach that combines semantic-guided search with greedy decoding to enhance memory efficiency and repair accuracy in LLM-based program repair.
Findings
Reduces memory consumption by up to 83% compared to baseline methods.
Fixes 10 more bugs on Defects4J than the best existing baseline.
Achieves 12% and 36.5% improvements in correct patches on HumanEval-Java and TransformedD4J datasets.
Abstract
In this paper, we first show that increases in beam size, even for small-sized LLMs (1B-7B params), require extensive GPU usage, leading to up to 80% of recurring crashes due to memory overloads in LLM-based APR. Seemingly simple solutions to reduce memory consumption are (1) to quantize LLM models, i.e., converting the weights of an LLM from high-precision values to lower-precision ones, and (2) to make beam search sequential, i.e., forwarding each beam through the model sequentially and then concatenating them back into a single output. However, we show that these approaches still do not work via both theoretical analysis and experiments. To address this, we introduce FLAMES, a novel LLM-based APR technique that employs semantic-guided patch generation to enhance repair effectiveness and memory efficiency. Unlike conventional methods that rely on beam search, FLAMES utilizes greedy…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
