AutoTest:基于测试用例的演化代码解决方案选择
软件工程
2024-08-23 v1 人工智能
摘要
随着代码生成技术的发展,从多个候选代码解决方案中选择正确的解决方案已成为关键任务。本研究提出 AutoTest,一种新型技术,将自动化测试用例生成与代码解决方案执行相结合,以演化遗传算法进行优化。首先,AutoTest 利用如 codegen-16B、code-davinci-002 和 incoder-6B 等大型预训练语言模型提供代码解决方案及其对应的测试用例。随后,通过执行代码解决方案并在测试用例上评估其性能,形成一致性集合。通过基于演化遗传算法的选择、变异和交叉机制,实现对 alpha 和 beta 参数的调整,从而实现细粒度排序。最后选择最佳代码解决方案。AutoTest 在 HumanEval 基准测试中表现显著提升。HumanEval 数据集包含 164 个编程问题,AutoTest 相较于基线方法在 pass@1 分数上提升约 10%。
引用
@article{arxiv.2408.12125,
title = {AutoTest: Evolutionary Code Solution Selection with Test Cases},
author = {Zhihua Duan and Jialin Wang},
journal= {arXiv preprint arXiv:2408.12125},
year = {2024}
}