Does Link Prediction Help Detect Feature Interactions in Software Product Lines (SPLs)?

15 Sep 2020  ·  Seyedehzahra Khoshmanesh, Robyn Lutz ·

An ongoing challenge for the requirements engineering of software product lines is to predict whether a new combination of features (units of functionality) will create an unwanted or even hazardous feature interaction. We thus seek to improve and automate the prediction of unwanted feature interactions early in development. In this paper, we show how the detection of unwanted feature interactions in a software product line can be effectively represented as a link prediction problem. Link prediction uses machine learning algorithms and similarity scores among a graph's nodes to identify likely new edges. We here model the software product line features as nodes and the unwanted interactions among the features as edges. We investigate six link-based similarity metrics, some using local and some using global knowledge of the graph, for use in this context. We evaluate our approach on a software product line benchmark in the literature, building six machine-learning models from the graph-based similarity data. Results show that the best ML algorithms achieved an accuracy of 0.75 to 1 for classifying feature interactions as unwanted or wanted in this small study and that global similarity metrics performed better than local similarity metrics. The work shows how link-prediction models can help find missing edges, which represent unwanted feature interactions that are undocumented or unrecognized, earlier in development.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper

Results from the Paper


  Submit results from this paper to get state-of-the-art GitHub badges and help the community compare results to other papers.

Methods


No methods listed for this paper. Add relevant methods here