An Empirical Study of Software Architecture for Machine Learning

by   Alex Serban, et al.

Specific developmental and operational characteristics of machine learning (ML) components, as well as their inherent uncertainty, demand robust engineering principles are used to ensure their quality. We aim to determine how software systems can be (re-) architected to enable robust integration of ML components. Towards this goal, we conducted a mixed-methods empirical study consisting of (i) a systematic literature review to identify the challenges and their solutions in software architecture forML, (ii) semi-structured interviews with practitioners to qualitatively complement the initial findings, and (iii) a survey to quantitatively validate the challenges and their solutions. In total, we compiled and validated twenty challenges and solutions for (re-) architecting systems with ML components. Our results indicate, for example, that traditional software architecture challenges (e.g., component coupling) also play an important role when using ML components; along new ML specific challenges (e.g., the need for continuous retraining). Moreover, the results indicate that ML heightened decision drivers, such as privacy, play a marginal role compared to traditional decision drivers, such as scalability or interoperability. Using the survey, we were able to establish a link between architectural solutions and software quality attributes; which enabled us to provide twenty architectural tactics used for satisfying individual quality requirements of systems with ML components. Altogether, the results can be interpreted as an empirical framework that supports the process of (re-) architecting software systems with ML components.


page 22

page 23

page 24

page 30

page 31

page 32

page 33

page 34


Towards Using Probabilistic Models to Design Software Systems with Inherent Uncertainty

The adoption of machine learning (ML) components in software systems rai...

Application of Systems Engineering Process in Building ML-Enabled Systems

Machine learning (ML) components are being added to more and more critic...

Software Architecture for ML-based Systems: What Exists and What Lies Ahead

The increasing usage of machine learning (ML) coupled with the software ...

Adoption and Effects of Software Engineering Best Practices in Machine Learning

The increasing reliance on applications with machine learning (ML) compo...

Identifying Concerns When Specifying Machine Learning-Enabled Systems: A Perspective-Based Approach

Engineering successful machine learning (ML)-enabled systems poses vario...

Quality issues in Machine Learning Software Systems

Context: An increasing demand is observed in various domains to employ M...

Machine Learning for Fraud Detection in E-Commerce: A Research Agenda

Fraud detection and prevention play an important part in ensuring the su...

Please sign up or login with your details

Forgot password? Click here to reset