DiffTester: Versnelling van Unit Test Generatie voor Diffusion LLM's via Herhalende Patronen
DiffTester: Accelerating Unit Test Generation for Diffusion LLMs via Repetitive Pattern
September 29, 2025
Auteurs: Lekang Yang, Yuetong Liu, Yitong Zhang, Jia Li
cs.AI
Samenvatting
Softwareontwikkeling is sterk afhankelijk van uitgebreide unittests, waardoor de efficiëntie van geautomatiseerde Unit Test Generation (UTG) bijzonder belangrijk is. De meeste bestaande LLM's genereren echter testgevallen token voor token in elke voorwaartse stap, wat leidt tot inefficiënte UTG. Recentelijk zijn diffusion LLM's (dLLM's) opgekomen, die veelbelovende parallelle generatiemogelijkheden bieden en sterk potentieel tonen voor efficiënte UTG. Ondanks dit voordeel wordt hun toepassing op UTG nog steeds beperkt door een duidelijke afweging tussen efficiëntie en testkwaliteit, aangezien het verhogen van het aantal tokens dat in elke stap wordt gegenereerd vaak een scherpe daling in de kwaliteit van testgevallen veroorzaakt. Om deze beperking te overwinnen, presenteren we DiffTester, een versnellingsframework specifiek ontworpen voor dLLM's in UTG. Het kernidee van DiffTester is dat unittests die gericht zijn op dezelfde focale methode vaak repetitieve structurele patronen delen. Door deze gemeenschappelijke patronen dynamisch te identificeren via abstract syntax tree-analyse tijdens de generatie, verhoogt DiffTester adaptief het aantal tokens dat in elke stap wordt geproduceerd zonder de kwaliteit van de output in gevaar te brengen. Om een uitgebreide evaluatie mogelijk te maken, breiden we het originele TestEval-benchmark, dat beperkt was tot Python, uit door aanvullende programmeertalen zoals Java en C++ te introduceren. Uitgebreide experimenten op drie benchmarks met twee representatieve modellen tonen aan dat DiffTester een significante versnelling biedt terwijl de testdekking behouden blijft. Bovendien generaliseert DiffTester goed over verschillende dLLM's en programmeertalen, wat een praktische en schaalbare oplossing biedt voor efficiënte UTG in softwareontwikkeling. Code en data zijn publiek beschikbaar op 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 .