Monte Carlo Tree Search for Execution-Guided Program Repair with Large Language Models
Yixuan Liang
TL;DR
The paper tackles the challenge of repository-scale automated program repair using large language models, which struggle with long-horizon reasoning and greedy decoding. It proposes CodePilot, a hybrid framework that combines Monte Carlo Tree Search with a Qwen3 backbone to perform execution-guided patch generation, anchored by hierarchical fault localization and confidence-calibrated refinement. Key contributions include a three-level localization pipeline, MCTS-guided patch synthesis, execution-driven self-refinement, task-specific fine-tuning with LoRA and PPO, and a robust data-preprocessing and evaluation setup. Empirical results on SWE-bench Lite show a 24.67% resolve rate with open-weight models, surpassing baselines and ablations confirming the value of MCTS, thinking mode reasoning, and iterative refinement. The approach demonstrates that integrating symbolic search with neural models can enable scalable, execution-aware software engineering automation and paves the way for more complex, multi-file repair capabilities.
Abstract
Automated program repair with large language models remains challenging at the repository level due to long-horizon reasoning requirements and the limitations of autoregressive decoding. We present CodePilot, a hybrid framework that integrates Monte Carlo Tree Search (MCTS) with large language models to enable execution-guided program repair for real-world GitHub issues. CodePilot performs hierarchical fault localization from repository to file and function level, explores diverse patch trajectories using MCTS, and leverages execution feedback as a reward signal to guide search and refinement. The framework further incorporates confidence-calibrated generation to selectively refine low-confidence outputs. Experiments on SWE-bench Lite demonstrate that CodePilot achieves a 24.67% issue resolution rate using open-weight models, outperforming comparable baselines. These results suggest that combining symbolic search with neural language models is an effective strategy for scalable, execution-aware software engineering automation.
