Symbolic execution for dynamic, evolutionary test data generation - Andreou, Andreas S.; Sofokleous, Anastasis A.; Kourras, Antonis (My University, 2009)
This paper combines the advantages of symbolic execution with search based testing to produce automatically test data for JAVA programs. A framework is proposed comprising two systems which collaborate to generate test data. The first system is a program analyser capable of performing dynamic and static program analysis. The program analyser creates the control flow graph of the source code under testing and uses a symbolic transformation to simplify the graph and generate paths as independent control flow graphs. The second system is a test data generator that aims to create a set of test cases for covering each path. The implementation details of the framework, as well as the relevant experiments carried out on a number of JAVA programs are presented. The experimental results demonstrate the efficiency and efficacy of the framework and show that it can outperform the performance of related approaches.
Keywords: Control flow graphs; Genetic algorithms; Search-based test data generation; Symbolic program transformation