Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study

10/25/2022
by   Xhevahire Tërnava, et al.
0

Numerous software systems are highly configurable through run-time options, such as command-line parameters. Users can tune some of the options to meet various functional and non-functional requirements such as footprint, security, or execution time. However, some options are never set for a given system instance, and their values remain the same whatever the use cases of the system. Herein, we design a controlled experiment in which the system's run-time configuration space can be specialized at compile-time and combinations of options can be removed on demand. We perform an in-depth study of the well-known x264 video encoder and quantify the effects of its specialization to its non-functional properties, namely on binary size, attack surface, and performance while ensuring its validity. Our exploratory study suggests that the configurable specialization of a system has statistically significant benefits on most of its analysed non-functional properties, which benefits depend on the number of the debloated options. While our empirical results and insights show the importance of removing code related to unused run-time options to improve software systems, an open challenge is to further automate the specialization process.

READ FULL TEXT
research
04/08/2022

HINNPerf: Hierarchical Interaction Neural Network for Performance Prediction of Configurable Systems

Modern software systems are usually highly configurable, providing users...
research
03/11/2021

Auto-COP: Adaptation Generation in Context-Oriented Programming using Reinforcement Learning Options

Self-adaptive software systems continuously adapt in response to interna...
research
01/05/2022

LONViZ: Unboxing the black-box of Configurable Software Systems from a Complex Networks Perspective

Most, if not all, modern software systems are highly configurable to tai...
research
12/14/2021

The Interaction between Inputs and Configurations fed to Software Systems: an Empirical Study

Widely used software systems such as video encoders are by necessity hig...
research
06/07/2019

Learning Software Configuration Spaces: A Systematic Literature Review

Most modern software systems (operating systems like Linux or Android, W...
research
04/03/2017

Loop Tiling in Large-Scale Stencil Codes at Run-time with OPS

The key common bottleneck in most stencil codes is data movement, and pr...
research
05/12/2022

Viable Algorithmic Options for Creating and Adapting Emergent Software Systems

Given the complexity of modern software systems, it is of great importan...

Please sign up or login with your details

Forgot password? Click here to reset