From Requirements to Features: An Exploratory Study of Feature-Oriented Refactoring
Authors: Roberto E. Lopez-Herrejon, Leticia Montalvillo-Mendizabal and Alexander Egyed
More and more frequently successful software systemsneed to evolve
into families of systems, known as Software Product Lines (SPLs),
to be able to cater to the different functionality requirements
demanded by different customers while at the same time aiming to
exploit as much common functionality as possible. As a first step,
this evolution demands a clear understanding of how the functional
requirements map into the features of the original system. Using
this knowledge, features can be refactored so that they are reused
for building the new systems of the evolved SPL. In this paper we
present our experience in refactoring features based on the
requirements specifications of a small and a medium size systems.
Our work identified eight refactoring patterns that describe how
to extract the elements of features which were subsequently
implemented using Feature Oriented Software Development (FOSD) – a
novel modularization paradigm whose driving goal is to effectively
modularize features for the development of variable systems. We
argue that the identification of refactoring patterns are a
stepping
stone towards automating Feature-Oriented Refactoring, and present
some open issues that should be addressed to that avail.
Download PDF here!