Evaluation of software architectures under uncertainty: a systematic literature review

Dalia Sobhy, Rami Bahsoon, Leandro Minku, Rick Kazman

Research output: Contribution to journalArticlepeer-review

333 Downloads (Pure)

Abstract

Context: Evaluating software architectures in uncertain environments raises new challenges, which require continuous approaches. We define continuous evaluation as multiple evaluations of the software architecture that begins at the early stages of the development and is periodically and repeatedly performed throughout the lifetime of the software system. Numerous approaches have been developed for continuous evaluation;to handle dynamics and uncertainties at run-time, over the past years, these approaches are still very few,limited, and lack maturity.

Objective: This review surveys efforts on architecture evaluation and provides a unified terminology and perspective on the subject.

Method: We conducted a systematic literature review to identify and analyse architecture evaluation approaches for uncertainty including continuous and non-continuous, covering work published between 1990-2020. We examined each approach and provided a classification framework for this field. We present an analysis of the results and provide insights regarding open challenges.

Major results and conclusions: The survey reveals that most of the existing architecture evaluation approaches typically lack an explicit linkage between design-time and run-time. Additionally, there is a general lack of systematic approaches on how continuous architecture evaluation can be realised or conducted. To remedy this lack, we present a set of necessary requirements for continuous evaluation and describe some examples.
Original languageEnglish
Article number51
Number of pages50
JournalACM Transactions on Software Engineering and Methodology
Volume30
Issue number4
DOIs
Publication statusPublished - 3 Aug 2021

Keywords

  • Continuous software architecture evaluation
  • design-time software architecture evaluation
  • run-time software architecture evaluation
  • uncertainty

Fingerprint

Dive into the research topics of 'Evaluation of software architectures under uncertainty: a systematic literature review'. Together they form a unique fingerprint.

Cite this