Detecting feature interactions: how many components do we need?

Calder, M. and Miller, A. (2004) Detecting feature interactions: how many components do we need? Lecture Notes in Computer Science, 2975, pp. 45-66. (doi: 10.1007/b97772)



Publisher's URL:


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

Item Type:Articles
Glasgow Author(s) Enlighten ID:Calder, Professor Muffy and Miller, Professor Alice
Authors: Calder, M., and Miller, A.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Lecture Notes in Computer Science
Copyright Holders:Copyright © 2004 Springer
First Published:First published in Lecture Notes in Computer Science 2975:45-66
Publisher Policy:Reproduced in accordance with the copyright policy of the publisher

University Staff: Request a correction | Enlighten Editors: Update this record