DiffTester: Acelerando a Geração de Testes Unitários para LLMs de Difusão por meio de Padrões Repetitivos
DiffTester: Accelerating Unit Test Generation for Diffusion LLMs via Repetitive Pattern
September 29, 2025
Autores: Lekang Yang, Yuetong Liu, Yitong Zhang, Jia Li
cs.AI
Resumo
O desenvolvimento de software depende fortemente de testes unitários extensivos, o que torna a eficiência da Geração Automatizada de Testes Unitários (UTG) particularmente importante. No entanto, a maioria dos LLMs existentes gera casos de teste um token por vez em cada passagem direta, o que resulta em UTG ineficiente. Recentemente, os LLMs de difusão (dLLMs) surgiram, oferecendo capacidades promissoras de geração paralela e demonstrando um forte potencial para UTG eficiente. Apesar dessa vantagem, sua aplicação à UTG ainda é limitada por uma clara troca entre eficiência e qualidade dos testes, uma vez que aumentar o número de tokens gerados em cada etapa frequentemente causa um declínio acentuado na qualidade dos casos de teste. Para superar essa limitação, apresentamos o DiffTester, uma estrutura de aceleração especificamente projetada para dLLMs em UTG. A ideia central do DiffTester é que os testes unitários direcionados ao mesmo método focal frequentemente compartilham padrões estruturais repetitivos. Ao identificar dinamicamente esses padrões comuns por meio da análise de árvores sintáticas abstratas durante a geração, o DiffTester aumenta adaptativamente o número de tokens produzidos em cada etapa sem comprometer a qualidade da saída. Para permitir uma avaliação abrangente, estendemos o benchmark original TestEval, que era limitado a Python, introduzindo linguagens de programação adicionais, incluindo Java e C++. Experimentos extensivos em três benchmarks com dois modelos representativos mostram que o DiffTester oferece uma aceleração significativa enquanto preserva a cobertura de testes. Além disso, o DiffTester generaliza bem em diferentes dLLMs e linguagens de programação, fornecendo uma solução prática e escalável para UTG eficiente no desenvolvimento de software. O código e os dados estão publicamente disponíveis em https://github.com/wellbeingyang/DLM4UTG-open.
English
Software development relies heavily on extensive unit testing, which makes
the efficiency of automated Unit Test Generation (UTG) particularly important.
However, most existing LLMs generate test cases one token at a time in each
forward pass, which leads to inefficient UTG. Recently, diffusion LLMs (dLLMs)
have emerged, offering promising parallel generation capabilities and showing
strong potential for efficient UTG. Despite this advantage, their application
to UTG is still constrained by a clear trade-off between efficiency and test
quality, since increasing the number of tokens generated in each step often
causes a sharp decline in the quality of test cases. To overcome this
limitation, we present DiffTester, an acceleration framework specifically
tailored for dLLMs in UTG. The key idea of DiffTester is that unit tests
targeting the same focal method often share repetitive structural patterns. By
dynamically identifying these common patterns through abstract syntax tree
analysis during generation, DiffTester adaptively increases the number of
tokens produced at each step without compromising the quality of the output. To
enable comprehensive evaluation, we extend the original TestEval benchmark,
which was limited to Python, by introducing additional programming languages
including Java and C++. Extensive experiments on three benchmarks with two
representative models show that DiffTester delivers significant acceleration
while preserving test coverage. Moreover, DiffTester generalizes well across
different dLLMs and programming languages, providing a practical and scalable
solution for efficient UTG in software development. Code and data are publicly
available at https://github.com/wellbeingyang/DLM4UTG-open .