  Context: Championed by IBM's vision of autonomic computing paper in 2003, the
autonomic computing research field has seen increased research activity over
the last 20 years. Several conferences and workshops have been established and
have contributed to the autonomic computing knowledge base in search of a new
kind of system -- a self-adaptive system (SAS). These systems are characterized
by being context-aware and can act on that awareness. The actions carried out
could be on the system or on the context (or environment). The underlying goal
of a SAS is the sustained achievement of its goals despite changes in its
environment.
  Objective: Despite a number of literature reviews on specific aspects of SASs
ranging from their requirements to quality attributes, we lack a systematic
understanding of the current state of the art.
  Method: This paper contributes a systematic literature review into
self-adaptive systems using the dblp computer science bibliography as a
database. We filtered the records systematically in successive steps to arrive
at 293 relevant papers. Each paper was critically analyzed and categorized into
an attribute matrix. This matrix consisted of five categories, with each
category having multiple attributes. The attributes of each paper, along with
the summary of its contents formed the basis of the literature review that
spanned 30 years.
  Results: We characterize the maturation process of the research area from
theoretical papers over practical implementations to more holistic and generic
approaches, frameworks, and exemplars, applied to areas such as networking, web
services, and robotics, with much of the recent work focusing on IoT and IaaS.
  Conclusion: While there is an ebb and flow of application domains, domains
like bio-inspired approaches, security, and cyber physical systems showed
promise to grow heading into the 2020s.
