Search-Based Software Engineering for Self-Adaptive Systems: Survey, Disappointments, Suggestions and Opportunities

22 Jan 2020  ·  Tao Chen, Miqing Li, Ke Li, Kalyanmoy Deb ·

Search-Based Software Engineering (SBSE) is a promising paradigm that exploits the computational search to optimize different processes when engineering complex software systems. Self-adaptive system (SAS) is one category of such complex systems that permits to optimize different functional and non-functional objectives/criteria under changing environments (e.g., requirements and workload), which involves problems that are subject to search. In this regard, over years, there has been a considerable amount of work that investigates SBSE for SASs. In this paper, we provide the first systematic and comprehensive survey exclusively on SBSE for SASs, covering papers in 27 venues from 7 repositories, which eventually leads to several key statistics from the most notable 74 primary studies in this particular field of research. Our results, surprisingly, have revealed five disappointments that are of utmost importance and can result in serve consequences but have been overwhelmingly ignored in existing studies. We provide theoretical and/or experimental evidence to justify our arguments against the disappointments, present suggestions, and highlight the promising research opportunities towards their mitigation. We also elaborate on three other emergent, but currently under-explored opportunities for future work on SBSE for SASs. By mitigating the disappointments revealed in this work, together with the highlighted opportunities, we hope to be able to excite a much more significant growth in this particular research direction.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper

Results from the Paper


  Submit results from this paper to get state-of-the-art GitHub badges and help the community compare results to other papers.

Methods


No methods listed for this paper. Add relevant methods here