LLM2D
CoCoEvo: 共进化程序和测试用例以增强代码生成
CoCoEvo: Co-Evolution of Programs and Test Cases to Enhance Code Generation
作者: Kefan Li, Hongyue Yu, Tingyu Guo, Shijie Cao, Yuan Yuan
发布日期: 2/18/2025
arXiv ID: oai:arXiv.org:2502.10802v1

摘要

arXiv:2502.10802v1 类型:交叉 摘要:大型语言模型(LLMs)在自动代码生成方面展现了卓越的表现。然而,现有方法往往依赖预定义的测试案例,在无法获取这些案例的情况下,变得不可行。虽然先前的工作探讨了程序和测试案例之间的过滤技术,但忽视了测试案例的细化。为解决这一局限性,我们提出了一种名为CoCoEvo的新颖的基于LLM的共进化框架,该框架同时进化程序和测试案例。CoCoEvo通过直接从自然语言问题描述和函数头部生成程序和测试案例,消除了对预定义测试案例的依赖。该框架采用专门的进化算子,包括基于LLM的交叉和变异算子用于程序进化,以及一个测试案例生成算子用于测试案例进化。此外,我们提出了优化策略,如交叉率调度器以平衡探索与收敛,以及用于测试案例选择的多目标优化方法。在多个最先进的LLM上的实验结果表明,CoCoEvo超越了现有方法,在自动代码生成和测试方面达到了最先进的性能。这些结果强调了共进化技术在推进自动化编程领域方面的潜力。