Issue No. 01 - January/February (2011 vol. 37)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2010.46
James H. Andrews , University of Western Ontario, London, Ont., Canada
Tim Menzies , West Virginia University, Morgantown, WV, USA
Felix C.H. Li , University of Western Ontario, London, Ont., Canada
Randomized testing is an effective method for testing software units. 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 Nighthawk, a system which uses a genetic algorithm (GA) to find parameters for randomized unit testing that optimize test coverage. Designing GAs is somewhat of a black art. We therefore use a feature subset selection (FSS) tool to assess the size and content of the representations within the GA. Using that tool, we can reduce the size of the representation substantially while still achieving most of the coverage found using the full representation. Our reduced GA achieves almost the same results as the full system, but in only 10 percent of the time. These results suggest that FSS could significantly optimize metaheuristic search-based software engineering tools.
Software testing, randomized testing, genetic algorithms, feature subset selection, search-based optimization, testing tools.
James H. Andrews, Tim Menzies, Felix C.H. Li, "Genetic Algorithms for Randomized Unit Testing", IEEE Transactions on Software Engineering, vol. 37, no. , pp. 80-94, January/February 2011, doi:10.1109/TSE.2010.46