SmartFixer: fixing software configurations based on dynamic priorities

  • Authors:
  • Bo Wang;Leonardo Passos;Yingfei Xiong;Krzysztof Czarnecki;Haiyan Zhao;Wei Zhang

  • Affiliations:
  • Peking University, Beijing, China;University of Waterloo, Waterloo, Canada;Peking University, Beijing, China;University of Waterloo, Waterloo, Canada;Peking University, Beijing, China;Peking University, Beijing, China

  • Venue:
  • Proceedings of the 17th International Software Product Line Conference
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Large modern software systems are often organized as product lines, requiring specialists to configure variability models before delivering a product. Variability models capture both the commonality and variability of different products, and help detect the configurations errors. Existing approaches can recommend fixes for the errors automatically. However, the recommended fixes are sometimes large and complex, and existing approaches lack guidance to help users identify a desirable fix. This paper proposes an approach to provide such guidance using dynamic priorities. The basic idea is to first generate one fix, and then gradually reach the desirable fix based on user feedback. To this end, our approach (1) automatically translates user feedback into a set of implicit priority levels on configuration variables, using five priority assignment and adjustment strategies and (2) efficiently generates potential desirable fixes by calculating new values for the variables with low priority. The experiments on real variability models show that we can reduce up to 89% of the fixes, and up to 98% of the variables shown to the user, compared to when no priorities are used.