English

Beyond Evolutionary Algorithms for Search-based Software Engineering

Software Engineering 2017-09-19 v3 Neural and Evolutionary Computing

Abstract

Context: Evolutionary algorithms typically require a large number of evaluations (of solutions) to converge - which can be very slow and expensive to evaluate.Objective: To solve search-based software engineering (SE) problems, using fewer evaluations than evolutionary methods.Method: Instead of mutating a small population, we build a very large initial population which is then culled using a recursive bi-clustering chop approach. We evaluate this approach on multiple SE models, unconstrained as well as constrained, and compare its performance with standard evolutionary algorithms. Results: Using just a few evaluations (under 100), we can obtain comparable results to state-of-the-art evolutionary algorithms.Conclusion: Just because something works, and is widespread use, does not necessarily mean that there is no value in seeking methods to improve that method. Before undertaking search-based SE optimization tasks using traditional EAs, it is recommended to try other techniques, like those explored here, to obtain the same results with fewer evaluations.

Keywords

Cite

@article{arxiv.1701.07950,
  title  = {Beyond Evolutionary Algorithms for Search-based Software Engineering},
  author = {Jianfeng Chen and Vivek Nair and Tim Menzies},
  journal= {arXiv preprint arXiv:1701.07950},
  year   = {2017}
}

Comments

17 pages, 10 figures, Information and Software Technology 2017