行业新闻

清华提出 DiffuTester:扩散语言模型单元测试生成最高加速 2–3 倍

给扩散语言模型做单元测试生成加速:靠挖掘测试代码的公共结构模式,在不牺牲覆盖率的前提下把推理步数压下来,最高提速 2–3 倍。

扩散语言模型(dLLM,靠迭代去噪并行预测多个 token 的语言模型)生成快但质量容易掉。清华团队提出 DiffuTester:用抽象语法树(AST,代码的结构化语法表示)挖掘多个单元测试共有的结构模式,在解码时额外保留这些模式对应的 token,一步解码更多内容。在 DiffuCoder 和 Dream 上、Python/C++/Java 三种语言中,测试覆盖率不降,生成最高加速约 2–3 倍,且可与缓存类加速方法叠加。论文已被 EMNLP 2026 接收。

正文摘录

![](https://image.jiqizhixin.com/uploads/article/coverimage/6d86b1a9-712d-4704-8ab5-56f50c2db4f6/08(2).jpg) ![图片](https://mmbiz.qpic.cn/szmmbizpng/5L8bhP5dIqElqZ0GcgINP4V78xIEARSSDI7pRpUQpZAhGK6rr8zoMJM3icYLohdHNhq93gll1YkHwsYaOO3tolCuL5QN5gAtJc46PnNgECQI/640?wxfmt=png&from=appmsg&tp=webp&wxfrom=5&wxlazy=1imgIndex=0) 扩散语言模型(Diffusion Large Language Models,dLLMs)凭借并行生成多个 token 的能力,为高效代码生成提供了一条新的技术路线,尤其可以用于高效生成测试用例,快速提升代码覆盖率。然而,扩散语言模型仍面临一个关键问题: 生成得更快,往往会导致生成质量下降。 针对这一问题,本文提出了面向扩散语言模型生成单元测试的加速框架 DiffuTester。其核心思想来自一个简单但重要的现象: 针对同一个被测方法生成的多个单元测试,往往共享大量相似的代码结构模式。 DiffuTester 利用抽象语法树(Abstract Syntax Tree,AST)动态挖掘这些结构模式,并在扩散解码过程中额外保留与这些结构模式相对应的 token,从而让模型能够在一次去噪步骤中解码更多 token,减少整体推理步数。 实验证明,DiffuTester 在不同的扩散语言模型以及三种编程语言上均取得稳定加速效果: 在保持测试覆盖率的同时,可实现最高约 2–3× 的生成加速,并显著降低计算开销 。

阅读原文(jiqizhixin.com)→

行业新闻机器之心2026-09-11原文

相关内容