English

FLASH: A Faster Optimizer for SBSE Tasks

Software Engineering 2017-05-19 v2

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).

Keywords

Cite

@article{arxiv.1705.05018,
  title  = {FLASH: A Faster Optimizer for SBSE Tasks},
  author = {Vivek Nair and Zhe Yu and Tim Menzies},
  journal= {arXiv preprint arXiv:1705.05018},
  year   = {2017}
}

Comments

11 pages, 11 figures

R2 v1 2026-06-22T19:46:38.098Z