Abstract
This chapter presents AnATLyzer—a tool for the static analysis of the ATL model transformation language. AnATLyzer is able to statically detect more than 50 types of problems in ATL transformation programs using different analysis techniques, some of them used in combination as per Challenge 2 (integrating and orchestrating analysis tools, cf. Chap. 5 of this book). The tool also provides a catalogue of more than 100 quick fixes (including quick fix recommendation via speculative analysis), visualisations and explanations to help understand the errors, and a synthesiser of witness models that permit reproducing the errors found. Altogether, this chapter focuses on how transformation developers can exploit AnATLyzer’s output results to understand and fix transformation problems and achieve higher quality transformations.
This case-study chapter illustrates concepts introduced in Chap. 7 and addresses Challenge 4 in Chap. 3 of this book.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jean Bézivin, Fabian Büttner, Martin Gogolla, Frédéric Jouault, Ivan Kurtev, and Arne Lindow. “Model Transformations? Transformation Models!” In: 9th International Conference on Model Driven Engineering Languages and Systems. Vol. 4199. 2006, pp. 440–453.
Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. “Speculative analysis: exploring future development states of software”. In: Workshop on Future of Software Engineering Research, FoSER. 2010, pp. 59–64.
Hugo Brunelière, Jordi Cabot, Grégoire Dupé, and Frédéric Madiot. “MoDisco: A model driven reverse engineering framework”. In: Inf. Softw. Technol. 56.8 (2014), pp. 1012–1032.
Jean-Michel Bruel, Benoît Combemale, Esther Guerra, Jean-Marc Jézéquel, Jörg Kienzle, Juan de Lara, Gunter Mussbacher, Eugene Syriani, and Hans Vangheluwe. “Comparing and classifying model transformation reuse approaches across metamodels”. In: Software and Systems Modeling 19.2 (2020), pp. 441–465.
Fabian Büttner, Marina Egea, Jordi Cabot, and Martin Gogolla. “Verification of ATL Transformations Using Transformation Models and Model Finders”. In: 14th International Conference on Formal Engineering Methods, ICFEM. Vol. 7635. 2012, pp. 198–213.
Jordi Cabot, Robert Clarisó, Esther Guerra, and Juan de Lara. “Synthesis of OCL Pre-conditions for Graph Transformation Rules”. In: 3rd International Conference on Theory and Practice of Model Transformations, ICMT. Vol. 6142. 2010, pp. 45–60.
Jordi Cabot, Robert Clarisó, Esther Guerra, and Juan de Lara. “Verification and validation of declarative model-to-model transformations through invariants”. In: J. Syst. Softw. 83.2 (2010), pp. 283–302.
Zheng Cheng and Massimo Tisi. “A Deductive Approach for Fault Localization in ATL Model Transformations”. In: 20th International Conference on Fundamental Approaches to Software Engineering, FASE. Vol. 10202. 2017, pp. 300–317.
Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. Fundamentals of Algebraic Graph Transformation. Springer, 2006.
Jeanne Ferrante, Karl J. Ottenstein, and Joe D. Warren. “The Program Dependence Graph and Its Use in Optimization”. In: ACM Trans. Program. Lang. Syst. 9.3 (1987), pp. 319–349.
Pablo Gómez-Abajo, Esther Guerra, Juan de Lara, and Mercedes G. Merayo. “Wodel- Test: A model-based framework for language-independent mutation testing”. In: Software and Systems Modeling (2020). https://doi.org/10.1007/s10270-020-00827-0.
Esther Guerra, Jesús Sánchez Cuadrado, and Juan de Lara. “Towards Effective Mutation Testing for ATL”. In: 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS. 2019, pp. 78–88.
Regina Hebig, Christoph Seidl, Thorsten Berger, John Kook Pedersen, and Andrzej Wasowski. “Model transformation languages under a magnifying glass: a controlled experiment with Xtend, ATL, and QVT”. In: 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 2018, pp. 445–455.
Ábel Hegedüs, ákos Horváth, István Ráth, Moisés Castelo Branco, and Dániel Varró. “Quick fix generation for DSMLs”. In: IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC. 2011, pp. 17–24.
Robert Heinrich, Francisco Durán, Carolyn L. Talcott, and Steffen Zschaler (eds.) Composing Model-Based Analysis Tools. Springer, 2021. https://doi.org/10.1007/978-3-030-81915-6.
Dennis Jeffrey, Min Feng, Neelam Gupta, and Rajiv Gupta. “BugFix: A learningbased tool to assist developers in fixing bugs”. In: 17th IEEE International Conference on Program Comprehension, ICPC. 2009, pp. 70–79.
Frédéric Jouault, Freddy Allilaire, Jean Bézivin, and Ivan Kurtev. “ATL: A model transformation tool”. In: Sci. Comput. Program. 72.1-2 (2008), pp. 31–39.
Nafiseh Kahani, Mojtaba Bagherzadeh, James R. Cordy, Juergen Dingel, and Dániel Varró. “Survey and classification of model transformation tools”. In: Software and Systems Modeling 18.4 (2019), pp. 2361–2397.
Christian Köhler, Holger Lewin, and Gabriele Taentzer. “Ensuring Containment Constraints in Graph-based Model Transformation Approaches”. In: Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 6 (2007).
Leen Lambers, Daniel Strüber, Gabriele Taentzer, Kristopher Born, and Jevgenij Huebert. “Multi-granular conflict and dependency analysis in software engineering based on graph transformation”. In: 40th International Conference on Software Engineering, ICSE. 2018, pp. 716–727.
Jean-Marie Mottu, Sagar Sen, Massimo Tisi, and Jordi Cabot. “Static Analysis of Model Transformations for Effective Test Generation”. In: 23rd IEEE International Symposium on Software Reliability Engineering, ISSRE. 2012, pp. 291–300.
Kivanç Muslu, Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. “Speculative analysis of integrated development environment recommendations”. In: 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA. 2012, pp. 669–682.
Bentley James Oakes, Javier Troya, Levi Lúcio, and Manuel Wimmer. “Full contract verification for ATL using symbolic execution”. In: Software and Systems Modeling 17.3 (2018), pp. 815–849.
Object Management Group. UML 2.5. Tech. rep. formal/2015-03-01. Object Management Group, 2015.
Object Management Group. UML 2.5.1 OMG specification. http://www.omg.org/spec/UML/2.5.1/.2017.
Lukman Ab. Rahim and Jon Whittle. “A survey of approaches for verifying model transformations”. In: Software and Systems Modeling 14.2 (2015), pp. 1003–1028.
Jesús Sánchez Cuadrado, Loli Burgueno, Manuel Wimmer, and Antonio Vallecillo. “Efficient execution of ATL model transformations using static analysis and parallelism”. In: IEEE Transactions on Software Engineering (2020).
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. “Static analysis of model transformations”. In: IEEE Transactions on Software Engineering 43.9 (2017), pp. 868–897.
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. “AnATLyzer: an advanced IDE for ATL model transformations”. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, (ICSE’). 2018, pp. 85–88. https://doi.org/10.1145/3183440.3183479
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. “Quick fixing ATL transformations with speculative analysis”. In: Software and System Modeling 17.3 (2018), pp. 779–813.
Shane Sendall and Wojtek Kozaczynski. “Model Transformation: The Heart and Soul of Model-Driven Software Development”. In: IEEE Softw. 20.5 (2003), pp. 42–45.
Javier Troya, Sergio Segura, José Antonio Parejo, and Antonio Ruiz Cortés. “Spectrum- Based Fault Localization in Model Transformations”. In: ACM Trans. Softw. Eng. Methodol. 27.3 (2018), 13:1–13:50.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Cuadrado, J.S., Guerra, E., Lara, J.d. (2021). AnATLyzer: Static Analysis of ATL Model Transformations. In: Heinrich, R., Durán, F., Talcott, C., Zschaler, S. (eds) Composing Model-Based Analysis Tools. Springer, Cham. https://doi.org/10.1007/978-3-030-81915-6_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-81915-6_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-81914-9
Online ISBN: 978-3-030-81915-6
eBook Packages: Computer ScienceComputer Science (R0)