Improving search-based software testing by constraint-based genetic operators

2019 
Search-based software testing (SBST) has achieved great attention as an effective technique to automate test data generation. The testing problem is converted into a search problem, and a meta-heuristic algorithm is used to search for the test data in SBST. Genetic Algorithm (GA) is the most popular meta-heuristic algorithm used in SBST and the genetic operators are the key parts in GA. Much work has been done to improve SBST while little research has concentrated on the genetic operators. Due to the blindness and randomness of classic genetic operators, SBST is ineffective in many cases. In this paper, we focus on improving the genetic operators by constraint-based software testing. Compared with classic genetic operators, our improved genetic operators are more purposeful. For the selection operator, we use symbolic execution technique to help us select the test cases which have more useful heuristic information. Then, the constraint-based crossover operator recombines the test cases which have more probability to create better offspring individuals. Finally, the constraint-based mutation operator is used to improve the test cases in order to satisfy some specific constraints. We applied our constraint-based genetic operators in several benchmarks and the experiments reveal the promising results of our proposal.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    40
    References
    3
    Citations
    NaN
    KQI
    []