CodeEvolve: LLM-Driven Evolutionary Optimization with Runtime-Enriched Target Selection for Multi-Language Code Enhancement

📄 arXiv: 2605.04677v1 📥 PDF

作者: Ajay Krishna Borra, Wenzhuo Yang, Samarth Arora, Akhilesh Deepak Gotmare, Gokulakrishnan Gopalakrishnan, Tharun Gali, Madhav Rathi, Doyen Sahoo, Manpreet Singh, Mayuresh Verma, Laksh Venka, Shuchita Singh

分类: cs.SE, cs.AI

发布日期: 2026-05-06

备注: 14 pages, 2 figures


💡 一句话要点

CodeEvolve:基于LLM和运行时信息的演化优化框架,用于多语言代码增强

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码优化 大型语言模型 演化算法 运行时信息 蒙特卡洛树搜索 自动化代码改进 Java Apex

📋 核心要点

  1. 现有代码优化方法依赖人工识别瓶颈,效率低且易出错,难以充分挖掘优化潜力。
  2. CodeEvolve利用运行时信息引导LLM进行演化优化,自动选择优化目标并生成候选代码。
  3. 实验表明,CodeEvolve在Java和Apex代码优化上显著提升性能和代码质量,优于传统方法。

📝 摘要(中文)

CodeEvolve是一个演化框架,利用大型语言模型(LLM)来提升程序性能和代码质量。它扩展了OpenEvolve,引入了运行时引导的目标选择、蒙特卡洛树搜索(MCTS)、自动化代码改进以及针对Java和Salesforce Apex的特定语言评估流程。该系统使用Java Flight Recorder(JFR)分析来构建加权组件图,并选择执行成本最高的优化目标,从而减少了对人工瓶颈识别的依赖。对于每个目标,CodeEvolve生成候选编辑,并通过构建验证、单元测试、性能检查、静态分析和基于LLM的审查来评估它们,仅保留那些保持功能正确性的变体。在实际优化任务中,CodeEvolve在保持正确性的前提下,提高了性能和代码指标。在一个大型企业Java代码库上,它在七个热点函数上实现了平均15.22倍的加速,并在其中五个函数上优于单次LLM优化。对Apex优化的消融研究表明,完整的MCTS增强配置平均在20个程序中产生19.5个有效程序,表明搜索、过滤和改进都有助于更可靠的优化。

🔬 方法详解

问题定义:现有代码优化方法,尤其是针对大型复杂代码库,通常依赖于人工分析来识别性能瓶颈。这种方法耗时且容易出错,并且可能无法充分利用LLM的代码生成能力。此外,如何保证优化后的代码在提升性能的同时,保持功能正确性也是一个挑战。

核心思路:CodeEvolve的核心思路是结合运行时信息和LLM的强大代码生成能力,实现自动化的代码演化优化。通过运行时信息(例如JFR profile)来确定代码中的热点区域,然后利用LLM生成针对这些热点区域的优化方案。通过演化算法,不断迭代和评估这些优化方案,最终找到性能和代码质量的最佳平衡点。

技术框架:CodeEvolve的整体框架包括以下几个主要模块:1) 目标选择:使用JFR profile构建加权组件图,自动选择执行成本最高的代码区域作为优化目标。2) 代码生成:利用LLM针对选定的目标生成候选代码编辑。3) 代码评估:通过构建验证、单元测试、性能检查、静态分析和LLM-based review等多重评估机制,筛选出既能提升性能又能保持功能正确性的代码变体。4) 演化优化:使用蒙特卡洛树搜索(MCTS)来指导搜索过程,并结合自动化代码改进,不断迭代和优化代码。

关键创新:CodeEvolve的关键创新在于将运行时信息与LLM的代码生成能力相结合,实现自动化的代码演化优化。传统的代码优化方法通常依赖于人工分析,而CodeEvolve可以自动识别性能瓶颈并生成优化方案,大大提高了优化效率。此外,CodeEvolve还引入了多重评估机制,确保优化后的代码在提升性能的同时,保持功能正确性。

关键设计:CodeEvolve使用Java Flight Recorder (JFR) 来收集运行时信息,并构建加权组件图,用于选择优化目标。MCTS算法用于指导搜索过程,平衡探索和利用。LLM的选择和prompt的设计对代码生成质量至关重要。代码评估阶段的各项指标(例如性能、代码质量、功能正确性)的权重需要根据具体应用场景进行调整。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

CodeEvolve在大型企业Java代码库的七个热点函数上实现了平均15.22倍的加速,并在其中五个函数上优于单次LLM优化。在Apex优化任务中,完整的MCTS增强配置平均在20个程序中产生19.5个有效程序,表明搜索、过滤和改进都有助于更可靠的优化。这些结果表明CodeEvolve在实际应用中具有显著的性能提升和代码质量改进效果。

🎯 应用场景

CodeEvolve可应用于各种软件开发场景,特别是大型企业级应用和高性能计算领域。它可以帮助开发者自动识别和优化代码中的性能瓶颈,提高软件的运行效率和代码质量,降低维护成本。此外,该框架还可以用于自动化代码重构和代码审查,提高开发效率和代码质量。

📄 摘要(原文)

We present CodeEvolve, an evolutionary framework for improving program performance and code quality with Large Language Models (LLMs). CodeEvolve extends OpenEvolve with runtime-guided target selection, Monte Carlo Tree Search (MCTS), automated code refinement, and language-specific evaluation pipelines for Java and Salesforce Apex. The system uses Java Flight Recorder (JFR) profiles to build weighted component graphs and select optimization targets that account for most execution cost, reducing reliance on manual bottleneck identification. For each target, CodeEvolve generates candidate edits, evaluates them through build validation, unit tests, performance checks, static analysis, and LLM-based review, and retains only variants that preserve functional correctness. Across real-world optimization tasks, CodeEvolve improves performance and code metrics while maintaining correctness. On a large enterprise Java codebase, it achieves an average speedup of 15.22$\times$ across seven hotspot functions and outperforms single-pass LLM optimization on five of them. An ablation study on Apex optimization shows that the full MCTS-augmented configuration produces 19.5 valid programs out of 20 on average, indicating that search, filtering, and refinement each contribute to more reliable optimization.