论文

EvoOtter:进化繁殖测试生成器

EvoOtter: Evolutionary Reproduction Test Generator

摘要

在修复问题之前,首先通过生成错误重现测试 (BRT) 来重现该问题非常有用。然而,生成 BRT 本身就是一项具有挑战性的任务,因为问题描述往往是非正式的,因此很难确定候选 BRT 是否确实因问题原因而失败。之前的工作尝试通过推理扩展来解决这个问题,使用 大语言模型 生成许多 BRT 和补丁,然后使用执行反馈来选择和改进它们。不幸的是,这是昂贵的并且反馈不可靠。本文探讨了 BRT 生成的进化编程,以增强反馈,同时增强进化编程以控制成本。我们的新方法 EvoOtter 通过连续减半来控制测试执行成本。此外,它还通过一次 LLM 调用中整个代的批量交叉以及基于规则的代码突变以及为 BRT 量身定制的新适应度分数来控制 LLM 成本。因此,EvoOtter 生成了最先进的高质量 BRT,而成本只是解决此问题的现有推理扩展方法的一小部分。更广泛地说,本文指出了如何高效地将进化编程与 大语言模型 结合起来进行软件工程。