ChatPaper.aiChatPaper

DiffTester : Accélération de la génération de tests unitaires pour les LLMs de diffusion via des motifs répétitifs

DiffTester: Accelerating Unit Test Generation for Diffusion LLMs via Repetitive Pattern

September 29, 2025
papers.authors: Lekang Yang, Yuetong Liu, Yitong Zhang, Jia Li
cs.AI

papers.abstract

Le développement de logiciels repose fortement sur des tests unitaires approfondis, ce qui rend l'efficacité de la génération automatisée de tests unitaires (UTG) particulièrement importante. Cependant, la plupart des modèles de langage existants (LLMs) génèrent des cas de test un jeton à la fois lors de chaque passage avant, ce qui entraîne une UTG inefficace. Récemment, des LLMs basés sur la diffusion (dLLMs) ont émergé, offrant des capacités prometteuses de génération parallèle et montrant un fort potentiel pour une UTG efficace. Malgré cet avantage, leur application à l'UTG est encore limitée par un compromis clair entre efficacité et qualité des tests, car augmenter le nombre de jetons générés à chaque étape entraîne souvent une baisse significative de la qualité des cas de test. Pour surmonter cette limitation, nous présentons DiffTester, un cadre d'accélération spécialement conçu pour les dLLMs dans l'UTG. L'idée clé de DiffTester est que les tests unitaires ciblant la même méthode focale partagent souvent des motifs structurels répétitifs. En identifiant dynamiquement ces motifs communs grâce à l'analyse d'arbres syntaxiques abstraits pendant la génération, DiffTester augmente de manière adaptative le nombre de jetons produits à chaque étape sans compromettre la qualité de la sortie. Pour permettre une évaluation complète, nous étendons le benchmark original TestEval, limité à Python, en introduisant des langages de programmation supplémentaires, notamment Java et C++. Des expériences approfondies sur trois benchmarks avec deux modèles représentatifs montrent que DiffTester offre une accélération significative tout en préservant la couverture des tests. De plus, DiffTester se généralise bien à travers différents dLLMs et langages de programmation, fournissant une solution pratique et évolutive pour une UTG efficace dans le développement de logiciels. Le code et les données sont disponibles publiquement à l'adresse 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 .
PDF12October 6, 2025