Using a Genetic Algorithm to Control Randomized Unit Testing
James H. Andrews, Felix C. H. Li, Tim Menzies · 2008
Randomized testing has been shown to be an effective method for testing software units. However, the thoroughness of randomized unit testing varies widely according to the settings of certain parameters, such as the relative frequencies with which methods are called. In this paper, we describe a system which uses a genetic algorithm to find parameters for randomized unit testing that optimize test coverage. We compare our coverage results to previous work, and report on case studies and experiments on system options. In order to optimize the system, we used data mining techniques to analyze which genes were the most useful. We also report on the results of this analysis and optimization.