Skip to main content

AnATLyzer: Static Analysis of ATL Model Transformations

  • Chapter
  • First Online:
Composing Model-Based Analysis Tools

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.00
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. Fundamentals of Algebraic Graph Transformation. Springer, 2006.

    MATH  Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Á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.

    Google Scholar 

  15. 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.

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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).

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. Object Management Group. UML 2.5. Tech. rep. formal/2015-03-01. Object Management Group, 2015.

    Google Scholar 

  25. Object Management Group. UML 2.5.1 OMG specification. http://www.omg.org/spec/UML/2.5.1/.2017.

  26. 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.

    Google Scholar 

  27. 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).

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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

  30. 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.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jesús Sánchez Cuadrado .

Editor information

Editors and Affiliations

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics