Adapting Software Architectures to Machine Learning Challenges
Alex Serban, Joost Visser

TL;DR
This paper presents an empirical framework for re-architecting software systems with ML components, identifying challenges, solutions, and architectural tactics to ensure robustness and quality.
Contribution
It provides a comprehensive empirical study combining literature review, practitioner interviews, and surveys to identify challenges and solutions in ML-integrated software architecture.
Findings
Traditional architecture challenges apply to ML components
New ML-specific challenges like continuous retraining are identified
Architectural solutions are linked to quality attributes
Abstract
Unique developmental and operational characteristics of 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 for ML, (ii) semi-structured interviews with practitioners to qualitatively complement the initial findings and (iii) a survey to quantitatively validate the challenges and their solutions. 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Engineering Techniques and Practices
