Domain Adaptation for Code Model-Based Unit Test Case Generation
Open Access
- 11 September 2024
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1211-1222
Abstract
Recently, deep learning-based test case generation approaches have been proposed to automate the generation of unit test cases. In this study, we leverage Transformer-based code models to generate unit tests with the help of Domain Adaptation (DA) at a project level. Specifically, we use CodeT5, a relatively small language model trained on source code data, and fine-tune it on the test generation task. Then, we apply domain adaptation to each target project data to learn project-specific knowledge (project-level DA). We use the Methods2test dataset to fine-tune CodeT5 for the test generation task and the Defects4j dataset for project-level domain adaptation and evaluation. We compare our approach with (a) CodeT5 fine-tuned on the test generation without DA, (b) the A3Test tool, and (c) GPT-4 on five projects from the Defects4j dataset. The results show that tests generated using DA can increase the line coverage by 18.62%, 19.88%, and 18.02% and mutation score by 16.45%, 16.01%, and 12.99% compared to the above (a), (b), and (c) baselines, respectively. The overall results show consistent improvements in metrics such as parse rate, compile rate, BLEU, and CodeBLEU. In addition, we show that our approach can be seen as a complementary solution alongside existing search-based test generation tools such as EvoSuite, to increase the overall coverage and mutation scores with an average of 34.42% and 6.8%, for line coverage and mutation score, respectively.Keywords
All Related Versions
Funding Information
- NSERC Discovery Grant (RGPIN\/04552-2020)
- NSERC and Alberta Innovates Alliance Grant (ALLRP\/568643-2021)
This publication has 32 references indexed in Scilit:
- Learning Deep Semantics for Test Completion2023
- CodaMosa: Escaping Coverage Plateaus in Test Generation with Pre-trained Large Language Models2023
- A Brief Review of Domain Adaptation2021
- Automatic Text Input Generation for Mobile Testing2017
- Visual Domain Adaptation: A survey of recent advancesIEEE Signal Processing Magazine, 2015
- Software effort models should be assessed via leave-one-out validationJournal of Systems and Software, 2013
- Transfer defect learning2013
- A Multi-Objective Genetic Algorithm to Test Data Generation2010
- On the Effectiveness of Manual and Automatic Unit Test Generation2008
- Search‐based software test data generation: a surveySoftware Testing, Verification and Reliability, 2004