Loading...

Automating feature model refactoring: A model transformation approach

Tanhaei, M ; Sharif University of Technology | 2016

883 Viewed
  1. Type of Document: Article
  2. DOI: 10.1016/j.infsof.2016.08.011
  3. Publisher: Elsevier , 2016
  4. Abstract:
  5. Context: Feature model is an appropriate and indispensable tool for modeling similarities and differences among products of the Software Product Line (SPL). It not only exposes the validity of the products’ configurations in an SPL but also changes in the course of time to support new requirements of the SPL. Modifications made on the feature model in the course of time raise a number of issues. Useless enlargements of the feature model, the existence of dead features, and violated constraints in the feature model are some of the key problems that make its maintenance difficult. Objective: The initial approach to dealing with the above-mentioned problems and improving maintainability of the feature model is refactoring. Refactoring modifies software artifacts in a way that their externally visible behavior does not change. Method: We introduce a method for defining refactoring rules and executing them on the feature model. We use the ATL model transformation language to define the refactoring rules. Moreover, we provide an Alloy model to check the feature model and the safety of the refactorings that are performed on it. Results: In this research, we propose a safe framework for refactoring a feature model. This framework enables users to perform automatic and semi-automatic refactoring on the feature model. Conclusions: Automated tool support for refactoring is a key issue for adopting approaches such as utilizing feature models and integrating them into the software development process of companies. In this work, we define some of the important refactoring rules on the feature model and provide tools that enable users to add new rules using the ATL M2M language. Our framework assesses the correctness of the refactorings using the Alloy language
  6. Keywords:
  7. Feature model refactoring ; Model transformation & refactoring ; Software engineering ; Automated tool support ; Indispensable tools ; Model transformation ; Model transformation languages ; Refactorings ; Software artifacts ; Software development process ; Software product lines ; Software design
  8. Source: Information and Software Technology ; Volume 80 , 2016 , Pages 138-157 ; 09505849 (ISSN)
  9. URL: http://www.sciencedirect.com/science/article/pii/S0950584916301422?via%3Dihub