Automated Parameterization of Closed Unit Tests
Parameterized unit testing is a promising technique for developers to use to facilitate the understanding of test codes. However, as a practical issue, developers might not have sufficient resources to implement parameterized unit tests (PUTs) corresponding to a vast number of closed unit tests (CUTs) in long-term software projects. Although a technique for retrofitting CUTs into PUTs was proposed, it imposes a laborious task on developers to promote parameters in CUTs. In this study, we propose a fully automated CUT-PUT retrofitting technique (called AutoPUT), which detects similar CUTs as PUT candidates by comparing their code structures. It then identifies common procedures and unique parameters to generate PUTs without degradation in terms of code coverage as compared with original CUTs. From the results of our case-study experiments on open-sourced software projects, we found that AutoPUT fully automatically generated 204 PUTs in 8.5 hours. We concluded that AutoPUT can help developers maintain test suites for building reliable software.
Publications
- Keita Tsukamoto, Yuta Maezawa, Shinichi Honiden, “AutoPUT: An Automated Technique for Retrofitting Closed Unit Tests into Parameterized Unit Tests”, In Proceedings of the 33rd ACM/SIGAPP Symposium on Applied Computing (SAC’18), Track on Software Verification and Testing (SVT), pp.1930-1937, April 2018. Acceptance rate: 11/43=25.6%