MineValiCoder: Reliable Code Generation with Test Case Quality Mining and Bipartite Graph-Based Mutual Validation

📄 arXiv: 2607.22471v1 📥 PDF

作者: Zhen Zhao, Qihang Yang, Feifei Dai, Xiangfang Li, Bo Li

分类: cs.SE, cs.AI

发布日期: 2026-07-24

备注: 12 pages, 3 figures, 7 tables


💡 一句话要点

提出MineValiCoder以解决代码生成中的测试用例质量问题

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

关键词: 自动化代码生成 测试驱动开发 大型语言模型 测试用例质量 双向图模型 代码优化 机器学习

📋 核心要点

  1. 现有的自动化代码生成方法过于依赖人工测试用例,导致在仅有自然语言需求时效果不佳。
  2. MineValiCoder通过测试用例质量挖掘和双向图基础的互验证,构建了一个闭环的TDD框架,提升了代码生成的可靠性。
  3. 在四个大型语言模型和主流基准上,MineValiCoder的Pass@1得分分别为96.34%、87.40%、64.00%和51.33%,显著优于现有方法。

📝 摘要(中文)

基于大型语言模型(LLM)的测试驱动开发(TDD)在自动化代码生成方面取得了进展。然而,现有方法过于依赖人工编写的测试用例,当仅有自然语言需求时效果不佳。尽管近期工作实现了自动测试生成,但往往忽视了LLM的内在随机性,导致生成的错误测试用例产生误导性反馈,扭曲了代码优化过程。为了解决这些挑战,本文提出了MineValiCoder,一个基于测试用例质量与代码质量相互强化的闭环TDD框架。通过广泛评估,MineValiCoder在多个主流基准上显著超越了现有方法,证明了其在减轻LLM随机性和提高自动化代码生成可靠性方面的有效性。

🔬 方法详解

问题定义:本文旨在解决现有自动化代码生成方法对人工测试用例的依赖,以及在仅有自然语言需求时的低效问题。现有方法在生成测试用例时常常忽视LLM的随机性,导致错误测试用例产生误导性反馈,影响代码优化效果。

核心思路:MineValiCoder通过建立测试用例质量与代码质量的相互强化机制,形成闭环的TDD框架。其核心思想是通过自验证机制过滤错误测试用例,从而提供可靠的优化监督,并通过验证的测试反馈迭代优化代码。

技术框架:MineValiCoder由三个主要模块组成:测试用例质量挖掘(TCQM)模块、并行TDD优化模块和基于双向图的代码-测试互验证(BiCoTeV)模块。TCQM模块负责过滤错误测试用例,确保优化过程的可靠性;并行TDD优化模块则利用验证的测试反馈生成多样化的高质量代码候选;BiCoTeV模块动态建模代码与测试之间的交互,进行互验证评分以选择稳定可靠的最优代码。

关键创新:MineValiCoder的主要创新在于其闭环的TDD框架,通过测试用例质量挖掘与代码质量的相互验证,显著提升了代码生成的可靠性。这一方法与传统依赖单一测试用例的方式有本质区别。

关键设计:在设计中,TCQM模块采用自验证机制,确保测试用例的质量;并行TDD优化模块通过迭代优化过程,利用多样化的测试反馈生成高质量代码;BiCoTeV模块则通过双向图模型实现代码与测试的动态交互,确保互验证的稳定性和可靠性。具体的参数设置和损失函数设计在实验中进行了详细验证。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

MineValiCoder在四个大型语言模型和主流基准上表现优异,HumanEval的Pass@1得分达到96.34%,MBPP为87.40%,APPS为64.00%,LiveCodeBench为51.33%。这些结果表明,MineValiCoder在减轻LLM随机性和提升自动化代码生成的可靠性方面具有显著优势。

🎯 应用场景

MineValiCoder的研究成果在软件开发、自动化测试和代码生成等领域具有广泛的应用潜力。其框架能够有效提升代码生成的可靠性,减少人工干预,适用于需要快速迭代和高质量代码输出的场景,如敏捷开发和持续集成。未来,该方法还可以扩展到更多编程语言和开发环境中,推动自动化开发的进一步发展。

📄 摘要(原文)

Large Language Model (LLM)-based Test-Driven Development (TDD) has advanced automated code generation. However, existing approaches depend heavily on human-crafted test cases and cannot operate effectively when only natural-language requirements are available. Although recent work enables automatic test generation, it often overlooks the inherent stochasticity of LLMs, leading to two key defects: faulty tests generate misleading feedback that distorts code optimization, while mixed-quality test cases produce conflicting evaluation signals that hinder reliable code selection. To address these challenges, we propose MineValiCoder, a collaborative closed-loop TDD framework based on the mutual reinforcement of test-case quality and code quality. MineValiCoder comprises three modules. The Test Case Quality Mining (TCQM) module filters faulty test cases through self-validation, providing reliable optimization supervision. The Parallel TDD Refinement module iteratively optimizes code and generates diverse high-quality code candidates using validated test-case feedback. The Bipartite Graph-Based Code-Test Mutual Validation (BiCoTeV) module dynamically models code-test interactions and performs mutual validation scoring for stable and reliable optimal-code selection. Extensive evaluations across four LLMs and mainstream benchmarks show that MineValiCoder significantly outperforms state-of-the-art methods. Specifically, it achieves Pass@1 scores of 96.34% on HumanEval, 87.40% on MBPP, 64.00% on APPS, and 51.33% on LiveCodeBench. These results demonstrate the effectiveness of MineValiCoder in mitigating LLM stochasticity and improving the reliability of automated code generation.