ConfigCrusher: Towards White-Box Performance Analysis for Configurable Systems
This addresses the need for more efficient and informative performance analysis in configurable systems, such as for debugging and optimization, though it is incremental as it builds on existing white-box concepts.
The paper tackles the problem of analyzing how configuration options affect system performance by proposing ConfigCrusher, a white-box approach that uses static data-flow analysis and dynamic instrumentation to build performance-influence models, achieving similar or better accuracy than state-of-the-art black-box methods on 10 configurable systems.
Stakeholders of configurable systems are often interested in knowing how configuration options influence the performance of a system to facilitate, for example, the debugging and optimization processes of these systems. Several black-box approaches can be used to obtain this information, but they either sample a large number of configurations to make accurate predictions or miss important performance-influencing interactions when sampling few configurations. Furthermore, black-box approaches cannot pinpoint the parts of a system that are responsible for performance differences among configurations. This article proposes ConfigCrusher, a white-box performance analysis that inspects the implementation of a system to guide the performance analysis, exploiting several insights of configurable systems in the process. ConfigCrusher employs a static data-flow analysis to identify how configuration options may influence control-flow statements and instruments code regions, corresponding to these statements, to dynamically analyze the influence of configuration options on the regions' performance. Our evaluation on 10 configurable systems shows the feasibility of our white-box approach to more efficiently build performance-influence models that are similar to or more accurate than current state of the art approaches. Overall, we showcase the benefits of white-box performance analyses and their potential to outperform black-box approaches and provide additional information for analyzing configurable systems.