论文标题
在编译时的运行时间配置空间的专业:探索性研究
Specialization of Run-time Configuration Space at Compile-time: An Exploratory Study
论文作者
论文摘要
通过运行时选项(例如命令行参数),许多软件系统都可以高度配置。用户可以调整一些选项,以满足各种功能和非功能性要求,例如足迹,安全性或执行时间。但是,对于给定的系统实例,绝不设置某些选项,无论系统的用例,它们的值保持不变。在此,我们设计了一个受控的实验,其中可以在编译时专门将系统的运行时配置空间进行专门处理,并且可以按需删除选项的组合。我们对著名的X264视频编码器进行了深入的研究,并量化了其专业化对其非功能性能的影响,即对二进制大小,攻击表面和性能,同时确保其有效性。我们的探索性研究表明,系统的可配置专业化在大多数分析的非功能性属性上具有统计学上的显着好处,这取决于造成的选项的数量。尽管我们的经验结果和见解表明,删除与未使用的运行时选项相关的代码以改善软件系统的重要性,但开放的挑战是进一步自动化专业化过程。
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.