Abstract
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 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 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 here. 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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.