Variant-preserving refactoring in feature-oriented software product lines

  • Authors:
  • Sandro Schulze;Thomas Thüm;Martin Kuhlemann;Gunter Saake

  • Affiliations:
  • University of Magdeburg;University of Magdeburg;University of Magdeburg;University of Magdeburg

  • Venue:
  • Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

A software product line (SPL) is an advanced concept to manage a family of programs under one umbrella. As with stand-alone programs, maintenance is an important challenge within SPL engineering. One pivotal activity during software maintenance is refactoring; that is, restructuring a program's source code while preserving its external behavior. However, for SPLs, this definition is not sufficient because it does not take into account the behavior of a set of programs. In this paper, we focus on the specific requirements for applying refactorings in feature-oriented SPLs. We propose variant-preserving refactoring for such SPLs to ensure the validity of all SPL variants after refactoring. Furthermore, we present a first approach how the traditional refactoring definition can be extended so that it can be applied to SPLs based on feature-oriented programming. Finally, we state our experiences of applying such refactorings for the removal of code clones in feature-oriented SPLs and discuss the generalizability for other SPL implementation techniques.