Prioritizing Features Through Categorization: An Approach to Resolving Feature Interactions
Zimmer, Patsy Ann
MetadataShow full item record
Feature interactions occur when one feature interferes with the intended operation of another feature. To detect such interactions, each new feature must be tested against existing features. The detected interactions must then be resolved; many existing approaches to resolving interactions require the feature set be prioritized. Unfortunately, the cost to determine a priority ordering for a feature set increases dramatically as the number of features increases. This thesis explores strategies to decrease the cost of prioritizing features, and thus facilitates priority-based solutions to resolving feature interactions. Specifically, this thesis introduces a categorization approach that reduces the complexity of determining priorities for a large set of features by decomposing the prioritization problem. Our categorization approach reduces this cost by using abstraction to divide the system's features into categories based on their main goal or functionality (e.g., block unwanted calls, present call information). Next, in order to detect and resolve the interactions that occur between these seemingly unrelated categories, we identify a set of principles for proper system behaviour that define acceptable behaviour in the global system. For example, a call that should be blocked by a call-screening feature should never result in a voice connection. The categories are then ordered, such that adherence to the principles is optimized. We show that using category priorities, to order a large feature set, correctly resolves interactions between individual features and significantly reduces the cost to determine priority orderings. The four significant contributions that this thesis makes are: 1) the categorization of features, 2) the principles of proper system behaviour, 3) automatic generation of priority orderings for categories, and 4) devising several optimizations that reduce the search space when exploring call simulations during the automatic generation of the priority orderings. These contributions are examined with respect to the telephony domain and result in the identification of 12 feature categories and 9 principles of proper system behaviour. A Prolog model was also created to run call simulations on the categories, using the identified principles as correctness criteria. Our case studies showed the reduced cost of our categorization approach is approximately 1/10^(55) % of the cost of a traditional approach. Given this significant reduction in the cost and the ability of our model to accurately reproduce the manually identified priority orderings, we can confidently argue that our categorization approach was successful. The three main limitations of our categorization approach are: 1) not all features (e.g., 911 features in telephony) can be categorized or some categories will contain a small number of features, 2) the generated priority ordering may still need to be analyzed by a human expert, and 3) the run time for our automatic generation of priority orderings remains factorial with respect to the size of the number of categories. However, these limitations are small in comparison to the savings generated by the categorization approach.