An Empirical Study of Software Architecture for Machine Learning

05/26/2021
by   Alex Serban, et al.
0

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.

READ FULL TEXT

page 22

page 23

page 24

page 30

page 31

page 32

page 33

page 34

research
08/07/2020

Towards Using Probabilistic Models to Design Software Systems with Inherent Uncertainty

The adoption of machine learning (ML) components in software systems rai...
research
08/10/2023

Application of Systems Engineering Process in Building ML-Enabled Systems

Machine learning (ML) components are being added to more and more critic...
research
03/14/2021

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

The increasing usage of machine learning (ML) coupled with the software ...
research
07/28/2020

Adoption and Effects of Software Engineering Best Practices in Machine Learning

The increasing reliance on applications with machine learning (ML) compo...
research
09/14/2023

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

Engineering successful machine learning (ML)-enabled systems poses vario...
research
08/18/2022

Quality issues in Machine Learning Software Systems

Context: An increasing demand is observed in various domains to employ M...
research
07/05/2021

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