Predictive Analytics for Product Configurations in Software Product Lines

A Software Product Line (SPL) is a collection of software for configuring software products in which sets of features are configured by different teams of product developers. This process often leads to inconsistencies (or dissatisfaction of constraints) in the resulting product configurations, whos...

Full description

Bibliographic Details
Main Authors: Uzma Afzal, Tariq Mahmood, Raihan ur Rasool, Ayaz H. Khan, Rehan Ullah Khan, Ali Mustafa Qamar
Format: Article
Language:English
Published: Springer 2021-06-01
Series:International Journal of Computational Intelligence Systems
Subjects:
Online Access:https://www.atlantis-press.com/article/125958276/view
_version_ 1818539203832578048
author Uzma Afzal
Tariq Mahmood
Raihan ur Rasool
Ayaz H. Khan
Rehan Ullah Khan
Ali Mustafa Qamar
author_facet Uzma Afzal
Tariq Mahmood
Raihan ur Rasool
Ayaz H. Khan
Rehan Ullah Khan
Ali Mustafa Qamar
author_sort Uzma Afzal
collection DOAJ
description A Software Product Line (SPL) is a collection of software for configuring software products in which sets of features are configured by different teams of product developers. This process often leads to inconsistencies (or dissatisfaction of constraints) in the resulting product configurations, whose resolution consumes considerable business resources. In this paper, we aim to solve this problem by learning, or mathematically modeling, all previous patterns of feature selection by SPL developers, and then use these patterns to predict inconsistent configuration patterns at runtime. We propose and implement an informative Predictive Analytics tool called predictive Software Product LIne Tool (p-SPLIT) which provides runtime decision support to SPL developers in three ways: 1) by identifying configurations of feature selections (patterns) that lead to inconsistent product configurations, 2) by identifying feature selection patterns that lead to consistent product configurations, and 3) by predicting feature inconsistencies in the product that is currently being configured (at runtime). p-SPLIT provides the first application of Predictive Analytics for the SPL feature modeling domain at the application engineering level. With different experiments in representative SPL settings, we obtained 85% predictive accuracy for p-SPLIT and a 98% Area Under the Curve (AUC) score. We also obtained subjective feedback from the practitioners who validate the usability of p-SPLIT in providing runtime decision support to SPL developers. Our results prove that p-SPLIT technology is a potential addition for the global SPL product configuration community, and we further validate this by comparing p-SPLIT's characteristics with state-of-the-art SPL development solutions.
first_indexed 2024-12-11T21:38:57Z
format Article
id doaj.art-fdf7ff4cd7d54555a77cb2c6a19f5538
institution Directory Open Access Journal
issn 1875-6883
language English
last_indexed 2024-12-11T21:38:57Z
publishDate 2021-06-01
publisher Springer
record_format Article
series International Journal of Computational Intelligence Systems
spelling doaj.art-fdf7ff4cd7d54555a77cb2c6a19f55382022-12-22T00:49:55ZengSpringerInternational Journal of Computational Intelligence Systems1875-68832021-06-0114110.2991/ijcis.d.210620.003Predictive Analytics for Product Configurations in Software Product LinesUzma AfzalTariq MahmoodRaihan ur RasoolAyaz H. KhanRehan Ullah KhanAli Mustafa QamarA Software Product Line (SPL) is a collection of software for configuring software products in which sets of features are configured by different teams of product developers. This process often leads to inconsistencies (or dissatisfaction of constraints) in the resulting product configurations, whose resolution consumes considerable business resources. In this paper, we aim to solve this problem by learning, or mathematically modeling, all previous patterns of feature selection by SPL developers, and then use these patterns to predict inconsistent configuration patterns at runtime. We propose and implement an informative Predictive Analytics tool called predictive Software Product LIne Tool (p-SPLIT) which provides runtime decision support to SPL developers in three ways: 1) by identifying configurations of feature selections (patterns) that lead to inconsistent product configurations, 2) by identifying feature selection patterns that lead to consistent product configurations, and 3) by predicting feature inconsistencies in the product that is currently being configured (at runtime). p-SPLIT provides the first application of Predictive Analytics for the SPL feature modeling domain at the application engineering level. With different experiments in representative SPL settings, we obtained 85% predictive accuracy for p-SPLIT and a 98% Area Under the Curve (AUC) score. We also obtained subjective feedback from the practitioners who validate the usability of p-SPLIT in providing runtime decision support to SPL developers. Our results prove that p-SPLIT technology is a potential addition for the global SPL product configuration community, and we further validate this by comparing p-SPLIT's characteristics with state-of-the-art SPL development solutions.https://www.atlantis-press.com/article/125958276/viewSoftware product linePredictive analyticsData scienceFeature modelInconsistencyInformation system
spellingShingle Uzma Afzal
Tariq Mahmood
Raihan ur Rasool
Ayaz H. Khan
Rehan Ullah Khan
Ali Mustafa Qamar
Predictive Analytics for Product Configurations in Software Product Lines
International Journal of Computational Intelligence Systems
Software product line
Predictive analytics
Data science
Feature model
Inconsistency
Information system
title Predictive Analytics for Product Configurations in Software Product Lines
title_full Predictive Analytics for Product Configurations in Software Product Lines
title_fullStr Predictive Analytics for Product Configurations in Software Product Lines
title_full_unstemmed Predictive Analytics for Product Configurations in Software Product Lines
title_short Predictive Analytics for Product Configurations in Software Product Lines
title_sort predictive analytics for product configurations in software product lines
topic Software product line
Predictive analytics
Data science
Feature model
Inconsistency
Information system
url https://www.atlantis-press.com/article/125958276/view
work_keys_str_mv AT uzmaafzal predictiveanalyticsforproductconfigurationsinsoftwareproductlines
AT tariqmahmood predictiveanalyticsforproductconfigurationsinsoftwareproductlines
AT raihanurrasool predictiveanalyticsforproductconfigurationsinsoftwareproductlines
AT ayazhkhan predictiveanalyticsforproductconfigurationsinsoftwareproductlines
AT rehanullahkhan predictiveanalyticsforproductconfigurationsinsoftwareproductlines
AT alimustafaqamar predictiveanalyticsforproductconfigurationsinsoftwareproductlines