Publication | Closed Access
Range Fixes: Interactive Error Resolution for Software Configuration
30
Citations
32
References
2014
Year
Software MaintenanceDesirable FixEngineeringVerificationSoftware EngineeringSoftware AnalysisFormal VerificationConstraint ProgrammingConstraint SolvingSoftware ConfigurationSystems EngineeringSoftware Configuration ManagementComputer EngineeringComputer ScienceAutomated RepairInteractive Error ResolutionSoftware DesignRange FixFault InjectionConstraint SatisfactionProgram AnalysisAutomated ReasoningSoftware TestingFormal MethodsProgram SynthesisSymbolic ExecutionSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1