Range Fixes: Interactive Error Resolution for Software Configuration

Yingfei Xiong,Hansheng Zhang,Arnaud Hubaux,Steven She,Jie Wang,Krzysztof Czarnecki
DOI: https://doi.org/10.1109/tse.2014.2383381
IF: 7.4
2015-01-01
IEEE Transactions on Software Engineering
Abstract:To prevent ill-formed configurations, highly configurable software often allows defining constraints over the available options. As these constraints can be complex, fixing a configuration that violates one or more constraints can be challenging. Although several fix-generation approaches exist, their applicability is limited because (1) they typically generate only one fix or a very long fix list, difficult for the user to identify the desirable fix; and (2) they do not fully support non-Boolean constraints, which contain arithmetic, inequality, and string operators. This paper proposes a novel concept, range fix, for software configuration. A range fix specifies the options to change and the ranges of values for these options. We also design an algorithm that automatically generates range fixes for a violated constraint. We have evaluated our approach with three different strategies for handling constraint interactions, on data from nine open source projects over two configuration platforms. The evaluation shows that our notion of range fix leads to mostly simple yet complete sets of fixes, and our algorithm is able to generate fixes within one second for configuration systems with a few thousands options and constraints.
What problem does this paper attempt to address?