Automating feature model refactoring: A Model transformation approach |
| |
Affiliation: | 1. Chalmers and the University of Gothenburg, Sweden;2. Federal University of Campina Grande, PB, Brazil;3. Huawei Technologies Sweden AB, Sweden;1. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing, China;2. Faculty of Information and Communication Technologies, Swinburne University of Technology, VIC, Australia;1. School of Information and Electrical Engineering, China University of Mining and Technology, Xuzhou, Jiangsu, 221116, P.R. China;2. School of Electrical Engineering and Information Engineering, LanZhou University of Technology, Lanzhou, Gansu 730000, P.R. China;3. School of Computer Science and Technology, Shandong Jianzhu University, Jinan, Shandong 250101, P.R. China;4. College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029, P.R. China;1. Department of Computer Science and Information Engineering, Fu Jen Catholic University, New Taipei City 24205, Taiwan (R.O.C.);2. Department of Computer Science and Information Engineering, National Taipei University of Technology, Taipei 106, Taiwan (R.O.C.);3. Department of Computer Science and Information Engineering, National Taipei University of Technology, Taipei 106, Taiwan (R.O.C.);1. Department of Computer Science and Engineering, University of Gothenburg, Sweden;2. Ericsson AB, Sweden |
| |
Abstract: | 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. |
| |
Keywords: | |
本文献已被 ScienceDirect 等数据库收录! |
|