English

Learning to Generate Unit Test via Adversarial Reinforcement Learning

Software Engineering 2026-03-17 v3 Artificial Intelligence

Abstract

Unit testing is a core practice in programming, enabling systematic evaluation of programs produced by human developers or large language models (LLMs). Given the challenges in writing comprehensive unit tests, LLMs have been employed to automate test generation, yet methods for training LLMs to produce high-quality tests remain underexplored. In this work, we propose UTRL, a novel reinforcement learning framework that trains an LLM to generate high-quality unit tests given a programming instruction. Our key idea is to iteratively train two LLMs, the unit test generator and the code generator, in an adversarial manner via reinforcement learning. The unit test generator is trained to maximize a discrimination reward, which reflects its ability to produce tests that expose faults in the code generator's solutions, and the code generator is trained to maximize a code reward, which reflects its ability to produce solutions that pass the unit tests generated by the test generator. In our experiments, we demonstrate that unit tests generated by Qwen3-4B trained via UTRL show higher quality compared to unit tests generated by the same model trained via supervised fine-tuning on human-written ground-truth unit tests, yielding code evaluations that more closely align with those induced by the ground-truth tests. Moreover, Qwen3-4B trained with UTRL outperforms frontier models such as GPT-4.1 in generating high-quality unit tests, highlighting the effectiveness of UTRL in training LLMs for this task.

Keywords

Cite

@article{arxiv.2508.21107,
  title  = {Learning to Generate Unit Test via Adversarial Reinforcement Learning},
  author = {Dongjun Lee and Changho Hwang and Kimin Lee},
  journal= {arXiv preprint arXiv:2508.21107},
  year   = {2026}
}

Comments

Accepted to ICLR 2026. Code is available at: https://github.com/dgjun32/UTRL

R2 v1 2026-07-01T05:10:56.662Z