Model Transformation Modularization as a Many-Objective Optimization Problem

被引:42
作者
Fleck, Martin [1 ]
Troya, Javier [2 ]
Kessentini, Marouane [3 ]
Wimmer, Manuel [1 ]
Alkhazi, Bader [4 ]
机构
[1] TU Wien, Business Informat Grp, A-1040 Vienna, Austria
[2] Univ Seville, Seville 41004, Spain
[3] Univ Michigan, Software Engn, Ann Arbor, MI 48109 USA
[4] Univ Michigan, Software Engn Lab, Ann Arbor, MI 48109 USA
关键词
Model transformation; modularization; ATL; NSGA-III; MDE; SBSE; SOFTWARE; ALGORITHM;
D O I
10.1109/TSE.2017.2654255
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.
引用
收藏
页码:1009 / 1032
页数:24
相关论文
共 96 条
[1]  
Abdeen H., 2014, INT C AUTOMATED SOFT, P289, DOI DOI 10.1145/2642937.2643005
[2]   Automatic Package Coupling and Cycle Minimization [J].
Abdeen, Hani ;
Ducasse, Stephane ;
Sahraoui, Houari ;
Alloui, Ilham .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :103-+
[3]  
Alhwikem F.H.M., 2016, MODEVVA MODELS 2016, P54
[4]  
[Anonymous], 2005, MOF QVT Final Adopted Specification
[5]  
[Anonymous], 2013, P AMT, P72
[6]  
Anquetil N., 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), P235, DOI 10.1109/WCRE.1999.806964
[7]   A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2014, 24 (03) :219-250
[8]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[9]  
ARENDT T, 2010, PROC 13 INT CONF, V6394, P121
[10]   Learning implicit and explicit control in model transformations by example [J].
Baki, Islem ;
Sahraoui, Houari ;
Cobbaert, Quentin ;
Masson, Philippe ;
Faunes, Martin .
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8767 :636-652