EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试

机器之心 2026-09-11 07:29

EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图1


扩散语言模型(Diffusion Large Language Models,dLLMs)凭借并行生成多个 token 的能力,为高效代码生成提供了一条新的技术路线,尤其可以用于高效生成测试用例,快速提升代码覆盖率。然而,扩散语言模型仍面临一个关键问题:生成得更快,往往会导致生成质量下降


针对这一问题,本文提出了面向扩散语言模型生成单元测试的加速框架 DiffuTester。其核心思想来自一个简单但重要的现象:针对同一个被测方法生成的多个单元测试,往往共享大量相似的代码结构模式


DiffuTester 利用抽象语法树(Abstract Syntax Tree,AST)动态挖掘这些结构模式,并在扩散解码过程中额外保留与这些结构模式相对应的 token,从而让模型能够在一次去噪步骤中解码更多 token,减少整体推理步数。


实验证明,DiffuTester 在不同的扩散语言模型以及三种编程语言上均取得稳定加速效果:在保持测试覆盖率的同时,可实现最高约 2–3× 的生成加速,并显著降低计算开销。相关论文已被 EMNLP 2026 接受,代码已开源。


本研究由清华大学人工智能学院 AI Agent 课题组完成。通讯作者为清华大学人工智能学院李佳助理教授,主要研究智能化软件开发。第一作者杨乐康为清华大学人工智能学院 2026 级直博生


EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图2



研究背景


扩散语言模型通过迭代去噪并行预测多个 token,相比传统自回归模型具备更强的并行生成潜力,因此在高效代码生成场景中受到越来越多关注。


但 dLLM 的生成效率和生成质量之间存在明显的 speed-quality trade-off:如果每个去噪步骤只保留少量高置信度 token,生成质量较稳定,但并行优势难以充分发挥;如果简单增加每一步保留的 token 数量,虽然可以加速解码,却会导致生成质量下降。


这一问题在单元测试生成中尤为值得关注。现实世界中的软件项目通常包含大量需要测试的方法,开发者需要为其生成多个测试用例以覆盖不同语句和分支,因此 UTG 对生成效率有天然需求,而 dLLM 的并行生成能力与这一场景十分契合。


进一步观察发现,单元测试本身还具有一个非常适合 dLLM 加速的特性:大量重复的结构模式,如下图所示。因此,本文的核心出发点是:利用 UT 中广泛存在的重复结构,帮助 dLLM 在每一步解码更多 token,在尽量不牺牲测试质量的前提下加速生成


EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图3


解决了什么问题?


本文关注的核心问题是:如何在不降低生成质量的前提下,加速 dLLM 的单元测试生成过程


现有 dLLM 的 training-free 加速方法大致可以分为两类:基于缓存的方法和基于采样的技术。前者通过复用不同去噪步骤之间相似的中间表示或 KV Cache,减少重复计算,从而降低单步推理开销;后者则主要从解码过程的采样策略入手,通过在一次去噪过程中解码更多 token、动态调整采样过程等方式,减少整体推理步数。


这两类方法都能够有效提升生成效率,但它们一般也会导致生成质量的下降。DiffuTester 也是在采样策略上的优化,但 DiffuTester 不仅不会降低生成质量,而且还和其他基于缓存的方法兼容。


提出了什么方法?


针对上述问题,本文提出了 DiffuTester:一个面向 dLLM 单元测试生成的、无需训练(training-free)的加速框架。其核心思想是:动态挖掘多个测试用例之间的共享结构,并利用这些结构信息辅助解码更多 token,从而减少整体去噪步数


如下图所示,在每个解码步骤中,DiffuTester 首先执行 dLLM 原有的基于置信度的解码,保留模型最有把握的一部分 token;随后进一步执行基于结构模式的解码。具体来说,DiffuTester 对当前 batch 中多个尚未完全生成的测试用例构建 AST,并通过合并不同 AST 来识别其中的共享结构。与这些公共结构对应的 token 会被额外保留,因此模型能够在一次推理中解码更多内容。


EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图4


由于扩散模型在生成早期的代码可能包含语法错误,DiffuTester 并不直接对完整测试用例构建 AST,而是采用逐行解析的方式,从而降低局部语法错误对结构挖掘的影响。


此外,DiffuTester 还采用了两项辅助设计:一是只保留置信度高于一个预设的阈值的 token,避免低置信度影响代码质量;二是不在每个去噪步骤都执行 AST 结构分析,而是间隔若干步进行一次,以进一步降低额外开销。


整体而言,DiffuTester 可以概括为:


在原有置信度解码的基础上,引入来自多个测试用例的结构信息,一次解码更多 token,实现更高效的 dLLM 单元测试生成。


实验结果与分析


本文在 DiffuCoder 和 Dream 两个代表性 dLLM 上进行实验,在 TestEval 数据集上进行测试,为了验证方法在不同编程语言上的有效性,我们还将原来的数据集扩展到三个不同编程语言,即 Python, C++, Java。



EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图5



EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图6

EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图7



EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图8


EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试图9


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
NLP 测试
more
手机本地一键成片,靠的是一个8B小模型的自我进化 | EMNLP'26
EMNLP 2026 | DiffuTester: 加速扩散语言模型生成单元测试
多模态检索头首次被锁定:揭开大模型长文档内部检索真相 | EMNLP'26
大模型手语翻译新进展:CAPO-SLT拿下中文三项最高分 | EMNLP'26
港科广×腾讯联手打造《我的世界》神操作,400张截图就能让AI挖矿通关,成本降至5%|EMNLP 2025
EMNLP 2026 Main|预测越像真实环境,Agent反而做得更差?我们把世界模型的训练目标从"状态一致"换成了"行为一致"
EMNLP 2025 杰出论文出炉(7/4167)|LingGym、DiscoSG、MiCRo 等
大模型时代下,nlp初学者需要怎么入门?
揭开多智能体决策的隐形不公,结果指标相同也未必可靠 | EMNLP'26
EMNLP2025|大模型“撒谎”的内部机制
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号