4 research outputs found
Runtime Resolution of Feature Interactions through Adaptive Requirement Weakening
The feature interaction problem occurs when two or more independently
developed components interact with each other in unanticipated ways, resulting
in undesirable system behaviors. Feature interaction problems remain a
challenge for emerging domains in cyber-physical systems (CPS), such as the
Internet of Things and autonomous drones. Existing techniques for resolving
feature interactions take a "winner-takes-all" approach, where one out of the
conflicting features is selected as the most desirable one, and the rest are
disabled. However, when multiple of the conflicting features fulfill important
system requirements, being forced to select one of them can result in an
undesirable system outcome. In this paper, we propose a new resolution approach
that allows all of the conflicting features to continue to partially fulfill
their requirements during the resolution process. In particular, our approach
leverages the idea of adaptive requirement weakening, which involves one or
more features temporarily weakening their level of performance in order to
co-exist with the other features in a consistent manner. Given feature
requirements specified in Signal Temporal Logic (STL), we propose an automated
method and a runtime architecture for automatically weakening the requirements
to resolve a conflict. We demonstrate our approach through case studies on
feature interactions in autonomous drones.Comment: 10 pages, submitted to SEAMS conferenc
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective Search
Complex systems such as autonomous cars are typically built as a composition of features that are independent units of functionality. Features tend to interact and impact one another’s behavior in unknown ways. A challenge is to detect and manage feature interactions, in particular, those that violate system requirements, hence leading to failures. In this paper, we propose a technique to detect feature interaction failures by casting our approach into a search-based test generation problem. We define a set of hybrid test objectives (distance functions) that combine traditional coverage-based heuristics with new heuristics specifically aimed at revealing feature interaction failures. We develop a new search-based test generation algorithm, called FITEST, that is guided by our hybrid test objectives. FITEST extends recently proposed many-objective evolutionary algorithms to reduce the time required to compute fitness values. We evaluate our approach using two versions of an industrial self-driving system. Our results show that our hybrid test objectives are able to identify more than twice as many feature interaction failures as two baseline test objectives used in the software testing literature (i.e., coverage-based and failure-based test objectives). Further, the feedback from domain experts indicates that the detected feature interaction failures represent real faults in their systems that were not previously identified based on analysis of the system features and their requirements
Refining, Implementing, and Evaluating the Extended Continuous Variable-Specific Resolutions of Feature Interactions
Systems that involve feature-oriented software development suffer from feature interactions, in which features affect one another’s behaviour in surprising ways. As the number of features increases, the complexity of examining feature combinations and fixing undesired interactions increases exponentially, such that the workload of resolving interactions comes to dominate feature development. The Feature Interaction Problem results from aiming resolve feature interaction by providing optimal resolutions. Resolution strategies combat the Feature Interaction Problem by offering default strategies that resolve entire classes of interactions, thereby reducing the work of the developer who is charged with the task of resolving interactions. However, most such approaches employ coarse-grained resolution strategies (e.g., feature priority) or a centralized arbitrator. This thesis focuses on evaluating and refining a proposed architecture that resolves features’ conflicting actions on system’s outputs. In this thesis, we extend a proposed architecture based on variable-specific resolution to enable co-resolution of related outputs and to promote smooth continuous resolutions over execution sequences. We implemented our approach within the PreScan simulator for advanced driver assistance systems, and performed a case study involving 15 automotive features that we implemented. We also devised and implemented three resolution strategies for the features’ outputs. The results of the case study show that the approach produces smooth and continuous resolutions of interactions throughout interesting scenarios
A Feature Interaction Resolution Scheme Based on Controlled Phenomena
Systems that are assembled from independently developed features suffer from feature interactions, in which features affect one another's behaviour in surprising ways. To ensure that a system behaves as intended, developers need to analyze all potential interactions -- and many of the identified interactions need to be fixed and their fixes verified. The feature-interaction problem states that the number of potential interactions to be considered is exponential in the number of features in a system. Resolution strategies combat the feature-interaction problem by offering general strategies that resolve entire classes of interactions, thereby reducing the work of the developer who is charged with the task of resolving interactions. In this thesis, we focus on resolving interactions due to conflict. We present an approach, language, and implementation based on resolver modules modelled in the situation calculus in which the developer can specify an appropriate resolution for each variable under conflict. We performed a case study involving 24 automotive features, and found that the number of resolutions to be specified was much smaller than the number of possible feature interactions (6 resolutions for 24 features), that what constitutes an appropriate resolution strategy is different for different variables, and that the subset of situation calculus we used was sufficient to construct nontrivial resolution strategies for six distinct output variables