English

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

Software Engineering 2022-10-26 v1

Abstract

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.

Keywords

Cite

@article{arxiv.2210.14082,
  title  = {Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study},
  author = {Xhevahire Tërnava and Mathieu Acher and Benoit Combemale},
  journal= {arXiv preprint arXiv:2210.14082},
  year   = {2022}
}

Comments

14 pages, 3 Figures (not counted the subfigures), 5 Tables, and 1 Algorithm

R2 v1 2026-06-28T04:28:27.201Z