Applying Machine Learning in Self-Adaptive Systems: A Systematic Literature Review
Omid Gheibi, Danny Weyns, and Federico Quin

TL;DR
This systematic review explores how machine learning is integrated into self-adaptive systems, focusing on techniques, challenges, and future directions within the MAPE framework to guide researchers and practitioners.
Contribution
It provides a comprehensive overview of the state of the art in applying machine learning to self-adaptive systems, highlighting key methods, challenges, and proposing an initial design process.
Findings
Machine learning is mainly used for updating adaptation rules and resource management.
Supervised and reinforcement learning are the most common methods.
Unsupervised learning is underutilized despite its suitability for automation.
Abstract
Recently, we witness a rapid increase in the use of machine learning in self-adaptive systems. Machine learning has been used for a variety of reasons, ranging from learning a model of the environment of a system during operation to filtering large sets of possible configurations before analysing them. While a body of work on the use of machine learning in self-adaptive systems exists, there is currently no systematic overview of this area. Such overview is important for researchers to understand the state of the art and direct future research efforts. This paper reports the results of a systematic literature review that aims at providing such an overview. We focus on self-adaptive systems that are based on a traditional Monitor-Analyze-Plan-Execute feedback loop (MAPE). The research questions are centred on the problems that motivate the use of machine learning in self-adaptive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software System Performance and Reliability · Software Engineering Research
