Searc
h Based Software Testing refers to t
he use of meta-
heuristics for t
he optimization of a task in t
he context of software testing. Meta-
heuristics can solve complex problems in w
hic
h an optimum solution must be found among a large amount of possibilities. T
he use of meta-
heuristics in testing activities is promising because of t
he
hig
h number of inputs t
hat s
hould be tested. Previous studies on searc
h based software testing
have focused on t
he application of meta-
heuristics for t
he optimization of structu
ral and functional criteria. Recently, some researc
hers
have proposed t
he use of SBST for mutation testing and explored solutions for t
he cost of application of t
his testing criterion.<
h4 id="absSec_2">Objective
h4>
ra0002">The objective is to identify how SBST has been explored in the context of mutation testing, how fitness functions are defined and the challenges and research opportunities in the application of meta-heuristic search techniques.
<
h4 id="absSec_3">Met
hod
h4>
ra0003">A systematic review involving 263 papers published between 1996 and 2014 examined the studies on the use of meta-heuristic search techniques for the optimization of mutation testing.
<
h4 id="absSec_4">Results
h4>
ra0004">The results show meta-heuristic search techniques have been applied for the optimization of test data generation, mutant generation and selection of effective mutation operators. Five meta-heuristic techniques, namely Genetic Algorithm, Ant Colony, Bacteriological Algorithm, Hill Climbing and Simulated Annealing have been used in search based mutation testing. The review addressed different fitness functions used to guide the search.
<
h4 id="absSec_5">Conclusion
h4>
ra0005">Search based mutation testing is a field of interest, however, some issues remain unexplored. For instance, the use of meta-heuristics for the selection of effective mutation operators was identified in only one study. The results have pointed a range of possibilities for new studies to be developed, i.e., identification of equivalent mutants, experimental studies and application to different domains, such as concurrent programs.