Variability-Aware Performance Prediction: A Case Study
MetadataShow full item record
Configurable software systems allow users to form configurations by selecting and deselecting features. The process of configuration creation may directly affect performance of the system in a non-linear way because of possible complex feature interactions. Understanding the correlation between feature selection and performance is important for stakeholders to acquire a desirable program variant. In this work we try to infer this correlation between system configuration and performance, using small samples of already measured configurations, without additional effort to detect feature interactions. We carry out a case study of several regression methods for solving this problem: regression trees, bagging of regression trees, random forests and support vector machines. All regression methods have their parameters tuned in automatic fashion by using Sobol sampling. To evaluate the prediction accuracy of the regression methods, the case study is performed using six real-world configurable software systems from different application domains and written in different programming languages. We show that bagging outperforms all other regression methods in most of the cases for all configurable systems, sampling sizes and parameter settings. We analyse the sensitivity of different regression methods and show that the most stable ones are regression trees and bagging.