Abstract. 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.