Supporting Feature Model Evolution by Suggesting Constraints from Code-Level Dependency Analyses
Feature models are a de facto standard for representing the commonalities and variability of product lines and configurable software systems. Requirements-level features are commonly implemented in multiple source code artifacts, which results in complex dependencies at the code-level. Furthermore, as developers need to change and evolve features frequently, it is challenging to keep feature models consistent with their implementation. We present and evaluate an approach combining feature-to-code mappings and code dependency analyses to inform engineers about possible inconsistencies in the feature model. Our focus are code-level changes requiring updates in feature dependencies and constraints. Our approach uses static code analysis and a variation control system to lift complex code-level dependencies to feature models. We present the suggested dependencies to the engineer in two ways: directly as links between features in a feature model and as a heatmap visualizing the dependency changes of all features in a model. We present results of an evaluation on the Pick-and-Place Unit system, which demonstrates the utility or our approach and the quality of the suggestions.
Tue 22 OctDisplayed time zone: Beirut change
14:00 - 15:30
|Lifted Static Analysis using a Binary Decision Diagram Abstract Domain|
|Harmonized Temporal Feature Modeling to Uniformly Perform, Track, Analyze and Replay Software Product Line Evolution|
|Supporting Feature Model Evolution by Suggesting Constraints from Code-Level Dependency Analyses|