TY - GEN
T1 - A comparison of performance specialization learning for configurable systems
AU - Martin, Hugo
AU - Acher, Mathieu
AU - Pereira, Juliana Alves
AU - Jézéquel, Jean Marc
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/9/6
Y1 - 2021/9/6
N2 - The specialization of the configuration space of a software system has been considered for targeting specific configuration profiles, usages, deployment scenarios, or hardware settings. The challenge is to find constraints among options' values that only retain configurations meeting a performance objective. Since the exponential nature of configurable systems makes a manual specialization unpractical, several approaches have considered its automation using machine learning, i.e., measuring a sample of configurations and then learning what options' values should be constrained. Even focusing on learning techniques based on decision trees for their built-in explainability, there is still a wide range of possible approaches that need to be evaluated, i.e., how accurate is the specialization with regards to sampling size, performance thresholds, and kinds of configurable systems. In this paper, we compare six learning techniques: three variants of decision trees (including a novel algorithm) with and without the use of model-based feature selection. We first perform a study on 8 configurable systems considered in previous related works and show that the accuracy reaches more than 90% and that feature selection can improve the results in the majority of cases. We then perform a study on the Linux kernel and show that these techniques performs as well as on the other systems. Overall, our results show that there is no one-size-fits-all learning variant (though high accuracy can be achieved): we present guidelines and discuss tradeoffs.
AB - The specialization of the configuration space of a software system has been considered for targeting specific configuration profiles, usages, deployment scenarios, or hardware settings. The challenge is to find constraints among options' values that only retain configurations meeting a performance objective. Since the exponential nature of configurable systems makes a manual specialization unpractical, several approaches have considered its automation using machine learning, i.e., measuring a sample of configurations and then learning what options' values should be constrained. Even focusing on learning techniques based on decision trees for their built-in explainability, there is still a wide range of possible approaches that need to be evaluated, i.e., how accurate is the specialization with regards to sampling size, performance thresholds, and kinds of configurable systems. In this paper, we compare six learning techniques: three variants of decision trees (including a novel algorithm) with and without the use of model-based feature selection. We first perform a study on 8 configurable systems considered in previous related works and show that the accuracy reaches more than 90% and that feature selection can improve the results in the majority of cases. We then perform a study on the Linux kernel and show that these techniques performs as well as on the other systems. Overall, our results show that there is no one-size-fits-all learning variant (though high accuracy can be achieved): we present guidelines and discuss tradeoffs.
U2 - 10.1145/3461001.3471155
DO - 10.1145/3461001.3471155
M3 - Conference contribution
AN - SCOPUS:85115290247
T3 - ACM International Conference Proceeding Series
SP - 46
EP - 57
BT - Proceedings of the 25th ACM International Systems and Software Product Line Conference, SPLC 2021
A2 - Mousavi, Mohammad
A2 - Schobbens, Pierre-Yves
A2 - Araujo, Hugo
A2 - Schaefer, Ina
A2 - ter Beek, Maurice H.
A2 - Devroey, Xavier
A2 - Rojas, Jose Miguel
A2 - Pinto, Monica
A2 - Teixeira, Leopoldo
A2 - Berger, Thorsten
A2 - Noppen, Johannes
A2 - Reinhartz-Berger, Iris
A2 - Temple, Paul
A2 - Damiani, Ferruccio
A2 - Petke, Justyna
PB - Association for Computing Machinery
T2 - 25th ACM International Systems and Software Product Line Conference, SPLC 2021
Y2 - 6 September 2021 through 11 September 2021
ER -