One of the most difficult tasks in software development is that features are implemented by changing the code of other features. This problem cannot be solved with existing general purpose programming languages if the features interact and are executed in the same process [1]. A solution to the problem must include a method that can automatically identify where to make the changes, or in the context of interacting features, automatically detect their interaction conditions. The Feature Language Extensions (FLX) is a set of language constructs that enable the programmer to develop interacting features as separate and reusable program modules. This paper overviews the feature interaction detection method of FLX. It includes an algorithm that determines the satisfiability of quantifier free first order predicate formulas containing variables that are used in the actual software and, therefore, may have complex data structures and predicate methods. FLX provides language constructs for the...
Lei Sun, Lu Zhoa, Yimeng Li, Wu-Hon F. Leung