AnATLyzer: An Advanced IDE for ATL Model Transformations

Model transformations (MTs) are key in model-driven engineering as they automate model manipulation. Their early verification is essential because a bug in a MT may affect many projects using it. Still, there is a lack of analysis tools applicable to non-toy transformations developed with practical MT languages. To alleviate this problem, this paper presents AnATLyzer: a static analysis tool for ATL MTs. The tool is able to detect a wide range of non-trivial problems in ATL transformations by using constraint solving to improve the analysis precision. It provides a live environment integrated into Eclipse which allows checking and fixing problems as the transformation is written. The environment is highly configurable and provides facilities like quick fixes, visualizations, navigation shortcuts and problem explanations. We have evaluated the tool over third-party MTs, obtaining good results. The tool website is http://anatlyzer.github.io, and a video showcasing its features is at https://youtu.be/bFpbZht7bqY

[1]  Franklin Ramalho,et al.  A Static Analyzer for Model Transformations , 2011, MtATL@TOOLS.

[2]  Juan de Lara,et al.  Static Analysis of Model Transformations , 2017, IEEE Transactions on Software Engineering.

[3]  Antonio Vallecillo,et al.  Static Fault Localization in Model Transformations , 2015, IEEE Transactions on Software Engineering.

[4]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[5]  Rajiv Gupta,et al.  BugFix: A learning-based tool to assist developers in fixing bugs , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[6]  Jordi Cabot,et al.  MoDisco: A model driven reverse engineering framework , 2014, Inf. Softw. Technol..

[7]  Martin Gogolla,et al.  Verification of ATL Transformations Using Transformation Models and Model Finders , 2012, ICFEM.

[8]  Jon Whittle,et al.  A survey of approaches for verifying model transformations , 2013, Software & Systems Modeling.

[9]  Claudia Eckert,et al.  Automated Generation of Buffer Overflow Quick Fixes Using Symbolic Execution and SMT , 2015, SAFECOMP.

[10]  Zoltán Ujhelyi Static Type Checking of Model Transformation Programs , 2010, ICGT.

[11]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[12]  Zheng Cheng,et al.  A Deductive Approach for Fault Localization in ATL Model Transformations , 2017, FASE.

[13]  Juan de Lara,et al.  Translating Target to Source Constraints in Model-to-Model Transformations , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[14]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[15]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[16]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[17]  Alessandro Orso,et al.  MintHint: automated synthesis of repair hints , 2013, ICSE.

[18]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[19]  Juan de Lara,et al.  Quick fixing ATL transformations with speculative analysis , 2016, Software & Systems Modeling.