Reinforcement Learning from Automatic Feedback for High-Quality Unit Test Generation
Software testing is a crucial but time-consuming aspect of software development, and recently, Large Language Models (LLMs) have gained popularity for automated test case generation. However, because LLMs are trained on vast amounts of open-source code, they often generate test cases that do not adhere to best practices and may even contain test smells (anti-patterns). To address this issue, we propose Reinforcement Learning from Static Quality Metrics (RLSQM), wherein we utilize Reinforcement Learning to generate high-quality unit tests based on static analysis-based quality metrics. First, we analyzed LLM-generated tests and show that LLMs frequently do generate undesirable test smells — up to 37% of the time. Then, we implemented lightweight static analysis-based reward model and trained LLMs using this reward model to optimize for five code quality metrics. Our experimental results demonstrate that the RL-optimized Codex model consistently generated higher-quality test cases than the base LLM, improving quality metrics by up to 23%, and generated nearly 100% syntactically-correct code. RLSQM also outperformed GPT-4 on all code quality metrics, in spite of training a substantially cheaper Codex model. We provide insights into how reliably utilize RL to improve test generation quality and show that RLSQM is a significant step towards enhancing the overall efficiency and reliability of automated software testing. Our data are available at this link: https://doi.org/10.6084/m9.figshare.25983166.
Authors
- Michele Tufano (ORCID: https://orcid.org/0000-0003-2225-2420)
- Benjamin Steenhoek (ORCID: https://orcid.org/0000-0001-6175-105X)
- Neel Sundaresan (ORCID: https://orcid.org/0000-0002-0394-7588)
- A. Svyatkovskiy (ORCID: https://orcid.org/0000-0001-7714-4481)
Institutions
- Google (United States) (US)
- Microsoft (Germany) (DE)
- Google DeepMind (United Kingdom) (GB)
Publication Details
- Published
- 2025-05-03
- DOI
- https://doi.org/10.1109/deeptest66595.2025.00011
- Citations
- 12
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 27.69