ABSTRACT
Model transformation programs evolve through a process of continuous change. However, this process may weaken the design of the transformation programs and make it unnecessarily complex, leading to increased fault-proneness. Refactoring improves the software design while preserving overall functionality and behavior. However, very few studies addressed the problem of refactoring model transformation programs. These existing studies provided an entirely manual or semi-automated refactoring support to transformation languages such as ATL. In this paper, we propose a fully-automated search-based approach to refactor model transformations based on a multi-objective algorithm that recommends the best refactoring sequence (e.g. extract rule, merge rules, etc.) optimizing a set of ATL-based quality metrics (e.g. number of rules, coupling, etc.). To validate our approach, we apply it to a comprehensive dataset of model transformations. The statistical analysis of our experiments over 30 runs shows that our automated approach recommended useful refactorings based on benchmark of ATL programs and compared to random search, mono-objective search formulation and a semi-automated refactoring approach not based heuristic search.
- Gabriele Taentzer, Thorsten Arendt, Claudia Ermel, Reiko Heckel: Towards refactoring of rule-based, in-place model transformation systems. Proceedings of the First Workshop on the Analysis of Model Transformations (AMT 2012), ACM, pages 41--46 Google ScholarDigital Library
- Daniel Strüber, Julia Rubin, Thorsten Arendt, Marsha Chechik, Gabriele Taentzer and Jennifer Plöger. RuleMerger: Automatic Construction of Variability-Based Model Transformation Rules, Proceedings of the 19th International Conference on Fundamental Approaches to Software Engineering (FASE), 2016,Google ScholarDigital Library
- Manuel Wimmer, Salvador Martínez Perez, Frédéric Jouault, Jordi Cabot: A Catalogue of Refactorings for Model-to-Model Transformations. Journal of Object Technology 11(2): 2: 1--40 (2012)Google ScholarCross Ref
- Matthias Tichy, Christian Krause, Grischa Liebel: Detecting Performance Bad Smells for Henshin Model Transformations. AMT@MoDELS 2013Google Scholar
- Mohamed Maddeh, Mohamed Romdhani, Khaled Ghédira: Classification of Model Refactoring Approaches. Journal of Object Technology 8(6): 143--158 (2009)Google Scholar
- Shekoufeh Kolahdouz Rahimi, Kevin Lano, Suresh Pillay, Javier Troya, Pieter Van Gorp: Evaluation of model transformation approaches for model refactoring. Sci. Comput. Program. 85: 5--40 (2014) Google ScholarDigital Library
- Zhang, Jing, Yuehua Lin, and Jeff Gray. Generic and domain-specific model refactoring using a model transformation engine. Model-driven Software Development. Springer Berlin Heidelberg, 2005. 199--217.Google Scholar
- Misbhauddin, Mohammed, and Mohammad Alshayeb. "UML model refactoring: a systematic literature review." Empirical Software Engineering 20.1 (2015): 206--251. Google ScholarDigital Library
- Angelika Kusel, Johannes Schoenboeck, Manuel Wimmer, Werner Retschitzegger, Wieland Schwinger, Gerti Kappel: Reality Check for Model Transformation Reuse: The ATL Transformation Zoo Case Study. AMT@MoDELS 2013Google Scholar
- van Amstel, Marcel F., and M. G. J. van den Brand. "Quality assessment of ATL model transformations using metrics." Proceedings of the 2nd International Workshop on Model Transformation with ATL (MtATL 2010). 2010.Google Scholar
- van Amstel, Marcel F., and Mark van den Brand. "Using metrics for assessing the quality of ATL model transformations." Proceedings of the 3rd International Workshop on Model Transformation with ATL (MtATL 2011). 2011.Google Scholar
- E. M. Project, "Atl zoo," http://www.eclipse.org/atl/atlTransformations/, 2015.Google Scholar
- K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, "A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II," IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182--197, 2002. Google ScholarDigital Library
- L. Rachmawati and D. Srinivasan, "Multiobjective Evolutionary Algorithm with Controllable Focus on the Knees of the Pareto Front," IEEE Transactions on Evolutionary Computation, vol. 13, no. 4, pp. 810--824, 2009. Google ScholarDigital Library
- U. Mansoor, M. Kessentini, M. Wimmer and K. Deb, Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm, Software Quality Journal, to appear.Google Scholar
- Usman Mansoor, Marouane Kessentini, Philip Langer, Manuel Wimmer, Slim Bechikh, Kalyanmoy Deb: MOMM: Multi-objective model merging. Journal of Systems and Software 103: 423--439 (2015) Google ScholarDigital Library
- Adnane Ghannem, Ghizlane El-Boussaidi, Marouane Kessentini: Model refactoring using examples: a search-based approach. Journal of Software: Evolution and Process 26(7): 692--713 2014 Google ScholarDigital Library
Recommendations
On the value of quality attributes for refactoring ATL model transformations: A multi-objective approach
Abstract ContextModel transformations play a fundamental role in Model-Driven Engineering (MDE) as they are used to manipulate models and to transform them between source and target metamodels. However, model transformation programs ...
Automated Refactoring for Testability
ICSTW '11: Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation WorkshopsCurrent software practice places a strong emphasis on unit testing, to the extent that the amount of test code produced on a project can exceed the amount of actual application code required. This illustrates the importance of testability as a feature ...
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
Aspect-Oriented Programming (AOP) provides mechanisms for the separation of crosscutting concerns—functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often ...
Comments