A recommender system for software architecture decision making

Authors Klaus Brandner
Rainer Weinreich
Editors
Title A recommender system for software architecture decision making
Booktitle Proceedings of the 13th European Conference on Software Architecture - Volume 2 (ECSA '19)
Type in proceedings
Publisher ACM
ISBN 978-1-4503-7142-1/19/09
DOI 10.1145/3344948.3344959
Month September
Year 2019
Pages 10-1322-25
SCCH ID# 19097
Abstract

Making the right design decisions for a software system is a difficult task. Inappropriate design decisions are often hard to reverse and can lead to high costs and a poor quality of the software product. To support architects in the decision-making process, we present a hybrid recommender system for software architecture decision making. The system provides recommendations for areas of system design and for design options within these areas. It uses two kinds of codified architectural knowledge for decision making: decision models for describing potential design options in a design space, and architectural profiles for documenting design decisions in different software systems. The developed recommender system is able to make recommendations early on in the decision-making process and provides more tailored recommendations the more software architecture knowledge is available. The system has been experimentally applied to microservice decision making.