ChatPaper.aiChatPaper

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 .
PDF12October 6, 2025