Skip to main content
Article thumbnail
Location of Repository

Detecting feature interactions: how many components do we need?

By M. Calder and A. Miller


Features are a structuring mechanism for <i>additional</i> functionality, usually in response to changing requirements. When several features are invoked at the same time, by the same, or different components, the features may not interwork. This is known as <i>feature interaction</i>. We employ a property-based approach to feature interaction detection: this involves checking the validity (or not) of a temporal property against a given system model. We use the logic LTL for temporal properties and the model-checker Spin to prove properties.\ud To gain any real insight into feature interactions, it is important to be able to infer properties for networks of <i>any</i> size, regardless of the underlying communication structure. We present an inference mechanism based on abstraction. The key idea is to model-check a system consisting of a constant number (<i>m</i>) of components together with an <i>abstract</i> component representing any number of other (possibly featured) components. The approach is applied to two systems with communication which is peer to peer and client server. We outline a proof of correctness in both cases.\ud The techniques developed here are motivated by feature interaction analysis, but they are also applicable to reasoning about networks of other types of components with suitable notions of data abstraction

Topics: QA75
Publisher: Springer
Year: 2004
OAI identifier:
Provided by: Enlighten

Suggested articles

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.