Enhancing software product lines with machine learning components
By: Luz-Viviana Cobaleda , Julián Carvajal , Paola Vallejo and more
Potential Business Impact:
Builds smarter computer programs with changeable parts.
Modern software systems increasingly integrate machine learning (ML) due to its advancements and ability to enhance data-driven decision-making. However, this integration introduces significant challenges for software engineering, especially in software product lines (SPLs), where managing variability and reuse becomes more complex with the inclusion of ML components. Although existing approaches have addressed variability management in SPLs and the integration of ML components in isolated systems, few have explored the intersection of both domains. Specifically, there is limited support for modeling and managing variability in SPLs that incorporate ML components. To bridge this gap, this article proposes a structured framework designed to extend Software Product Line engineering, facilitating the integration of ML components. It facilitates the design of SPLs with ML capabilities by enabling systematic modeling of variability and reuse. The proposal has been partially implemented with the VariaMos tool.
Similar Papers
Machine Learning Pipeline for Software Engineering: A Systematic Literature Review
Software Engineering
Finds software bugs faster and more accurately.
Empirical Assessment of the Perception of Software Product Line Engineering by an SME before Migrating its Code Base
Software Engineering
Helps companies move old code to new systems.
Sustainability of Machine Learning-Enabled Systems: The Machine Learning Practitioner's Perspective
Software Engineering
Helps build computer programs that are good for everyone.