Context: Variability (i.e., the ability of
software systems or artifacts to be adjusted for different contexts) became a
key property of many systems. Objective: We analyze existing research on
variability in software systems. We investigate variability handling in major
software engineering phases (e.g., requirements engineering, architecting).
Method: We performed a systematic literature review. A manual search covered 13
premium software engineering journals and 18 premium conferences, resulting in
15,430 papers searched and 196 papers considered for analysis. To improve
reliability and to increase reproducibility, we complemented the manual search
with a targeted automated search. Results: Software quality attributes have not
received much attention in the context of variability. Variability is studied
in all software engineering phases, but testing is underrepresented. Data to
motivate the applicability of current approaches are often insufficient;
research designs are vaguely described. Conclusions: Based on our findings we
propose dimensions of variability in software engineering. This empirically
grounded classification provides a step towards a unifying, integrated
perspective of variability in software systems, spanning across disparate or
loosely coupled research themes in the software engineering community. Finally,
we provide recommendations to bridge the gap between research and practice and
point to opportunities for future research
No comments:
Post a Comment