Abstract

Feature-oriented software development (FOSD) is a promising approach for developing a collection of similar software products from a shared set of software assets. A well-recognized issue in FOSD is the analysis of feature interactions: cases where the integration of multiple features would alter the behavior of one or several of them. Existing approaches to feature interaction detection require a fixed order in which the features are to be composed but do not provide guidance as to how to define this order or how to determine a relative order of a newly-developed feature w.r.t. existing ones. In this paper, we argue that classic feature non-commutativity analysis, i.e., determining when an order of composition of features affects properties of interest, can be used to complement feature interaction detection to help build orders between features and determine many interactions. To this end, we develop and evaluate Mr. Feature Potato Head (FPH) – a modular approach to non-commutativity analysis that does not rely on temporal properties and applies to systems expressed in Java. Our experiments running FPH on 29 examples show its efficiency and effectiveness.

Highlights

  • Feature-oriented software development (FOSD) [3] is a promising approach for developing a collection of similar software products from a shared set of software assets

  • We presented a compositional approach for checking noncommutativity of features in systems expressed in Java

  • The method is based on determining whether pairs of features can write to the same variables and the order in which features are composed to the base system may determine their valuation

Read more

Summary

Introduction

Feature-oriented software development (FOSD) [3] is a promising approach for developing a collection of similar software products from a shared set of software assets. In this approach, each feature encapsulates a certain unit of functionality of a product; features are developed and tested independently and integrated with each other; developed features are combined in a prescribed manner to produce the desired set of products. A well-recognized issue in FOSD is that it is prone to creating feature interactions [2,13,22,28]: cases where integrating multiple features alters the behavior of one or several of them.

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call