4 research outputs found

    Runtime Resolution of Feature Interactions through Adaptive Requirement Weakening

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore