Software product lines and features from the perspective of set theory with an application to feature location

Ulrich Eisenecker,Richard Müller
DOI: https://doi.org/10.1016/j.jss.2023.111938
IF: 3.5
2024-01-04
Journal of Systems and Software
Abstract:Features are a central concept of Software Product Lines (SPLs). Over the last decades, several understandings of what features are have evolved. They have important similarities but also some differences. However, there is no unifying formal theory of features. We present a definition of features that is completely independent of the representation of features in software artifacts, as well as a comprehensive categorization scheme for features. Based on this, we introduce a formal approach for feature-specific composition and decomposition of SPLs using set theory. We apply this approach to feature isolation as a prerequisite for feature location and provide a theoretical validation. For this purpose, we present programs that compose all possible systems for a given number of features and isolate each feature. By testing various conclusions based on this theory, we evaluate its soundness, consistency, and robustness. The results show under which conditions features can be successfully isolated and possibly located. In addition, we describe the current limitations of the approach and provide an outlook for future work.
computer science, theory & methods, software engineering
What problem does this paper attempt to address?