Title: FLASH: A Faster Optimizer for SBSE Tasks,
Abstract: Most problems in search-based software engineering involve balancing
conflicting objectives. Prior approaches to this task have required a large
number of evaluations- making them very slow to execute and very hard to
comprehend. To solve these problems, this paper introduces FLASH, a decision
tree based optimizer that incrementally grows one decision tree per objective.
These trees are then used to select the next best sample. This paper compares
FLASH to state-of-the-art algorithms from search-based SE and machine learning.
This comparison uses multiple SBSE case studies for release planning,
configuration control, process modeling, and sprint planning for agile
development. FLASH was found to be the fastest optimizer (sometimes requiring
less than 1% of the evaluations used by evolutionary algorithms). Also,
measured in terms of model size, FLASH's reasoning was far more succinct and
comprehensible. Further, measured in terms of finding effective optimization,
FLASH's recommendations were highly competitive with other approaches. Finally,
FLASH scaled to more complex models since it always terminated (while
state-of-the-art algorithm did not).