
The notion of feature is heavily used in Software Engineering, especially for software product lines. However, this notion appears to be confusing, mixing various aspects of problem and solution. In this paper, we attempt to clarify the notion of feature in the light of Zave and Jackson's framework for Requirements Engineering. By redefining a problem-level feature as a set of related requirements, specifications and domain assumptions--the three types of statements central to Zave and Jackson's framework--we also revisit the notion of feature interaction. This clarification work opens new perspectives on formal description and verification of software product lines. An important benefit of the approach is to enable an early identification of feature interactions taking place in the systems' environment, a notoriously challenging problem. The approach is illustrated through a proof-of-concept prototype tool and applied to a Smart Home example.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 77 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
