A recommender system for software architecture decision making

K. Brandner, R. Weinreich. A recommender system for software architecture decision making. pages 10-1322-25, DOI 10.1145/3344948.3344959, 9, 2019.

  • Klaus Brandner
  • Rainer Weinreich
BuchProceedings of the 13th European Conference on Software Architecture - Volume 2 (ECSA '19)
TypIn Konferenzband

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.