Go-UT-Bench: A Fine-Tuning Dataset for LLM-Based Unit Test Generation in Go
Yashshi Pipalani, Hritik Raj, Rajat Ghosh, Vaishnavi Bhargava, Debojyoti Dutta
TL;DR
Go-UT-Bench addresses the data bottleneck for domain-specific code LLMs by providing a large, diverse Go code–unit-test dataset with reproducible metadata. The authors introduce an AST-guided chunking pipeline to handle long Go files and evaluate fine-tuning effects on two LLM families (MoE and dense decoders) using an oracle-based unit-test generation benchmark. Fine-tuning yields substantial improvements in unit-test generation, with win rates exceeding 75% across repositories, demonstrating the value of domain-specific data for Go. The work advances open research in AI-powered software engineering by enabling reproducible Go unit-test generation and highlighting directions for cross-language adaptation and concurrency-aware prompting.
Abstract
Training data imbalance poses a major challenge for code LLMs. Most available data heavily over represents raw opensource code while underrepresenting broader software engineering tasks, especially in low resource languages like Golang. As a result, models excel at code autocompletion but struggle with real world developer workflows such as unit test generation. To address this gap, we introduce GO UT Bench, a benchmark dataset of 5264 pairs of code and unit tests, drawn from 10 permissively licensed Golang repositories spanning diverse domain. We evaluate its effectiveness as a fine tuning dataset across two LLM families i.e. mixture of experts and dense decoders. Our results show that finetuned models outperform their base counterparts on more than 75% of benchmark tasks.
