Efficient and scalable omniscient debugging for model transformations

Abstract

This paper discusses a technique for supporting omniscient debugging for model transformations, which are used to define core operations on software and system models. Similar to software systems developed using general-purpose languages, model transformations are also subject to human error and may possess defects. Existing model-driven engineering tools provide stepwise execution to aid developers in locating and removing defects. In this paper, we describe our investigation into a technique and associated algorithms that support omniscient debugging features for model transformations. Omniscient debugging enables enhanced navigation and exploration features during a debugging session beyond those possible in a strictly stepwise execution environment. Finally, the execution time performance is comparatively evaluated against stepwise execution, and the scalability (in terms of memory usage) is empirically investigated.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Notes

  1. 1.

    http://wiki.eclipse.org/ATL/User_Guide_-_The_ATL_Language#ATL_Helpers.

References

  1. Agrawal, A., Karsai, G., Neema, S., Shi, F., & Vizhanyo, A. (2006). The design of a language for model transformations. Journal of Software and Systems Modeling, 5(3), 261–288.

    Article  Google Scholar 

  2. Androutsopoulos, K., Clark, D., Harman, M., Krinke, J., & Tratt, L. (2013). State-based model slicing: A survey. ACM Computing Surveys, 45(4), 53:1–53:36.

    Article  Google Scholar 

  3. AToM3. (2015). AToM3 Project Page. University of McGill Modelling, Simulation, and Design Lab. http://atom3.cs.mcgill.ca. Accessed 9 Sept 2015.

  4. Basciani, F., Di Rocco, J., Di Ruscio, D., Di Salle, A., Iovino, L., & Pierantonio, A.(2014) MDEForge: an extensible web-based modeling platform. In Proceedings of the 2nd international workshop on model-driven engineering on and for the cloud co-located with the 17th international conference on model-driven engineering languages and systems (pp. 66–75).

  5. Bousse, E., Corley, J., Combemale, B., Gray, J., & Baudry, B. (2015) Supporting efficient and advanced omniscient debugging for xDSMLs. In Proceedings of the 8th international conference on software language engineering (accepted for publication).

  6. Burgueño, L., Troya, J., Wimmer, M., & Vallecillo, A. (2015). Parallel in-place model transformations with LinTra. In Proceedings of the 3rd workshop on scalable model driven engineering part of the software technologies: applications and foundations federation of conferences (pp. 52–62).

  7. Clinger, H., & Ost, E. (1988). Implementation strategies for continuations. In Proceedings of the ACM conference on LISP and functional programming (pp. 124–131).

  8. Combemale, B., Deantoni, J., Baudry, B., France, R., Jézéquel, J. M., & Gray, J. (2014). Globalizing modeling languages. IEEE Computer, 10–13.

  9. Corley, J. (2014). Exploring omniscient debugging for model transformations. In ACM student research competition at the 17th international conference on model-driven engineering, languages, and systems (pp. 63–68).

  10. Corley, J., Eddy, B., & Gray, J. (2014). Towards efficient and scalable omniscient debugging for model transformations. In Proceedings of the 14th workshop on domain-specific modeling (pp. 13–18).

  11. Corley, J., Syriani, E., Ergin, H., & Van Mierlo, S. (2016). Cloud-based multi-view modeling environments. In A. M. Cruz & S. Paiva (Eds.), Modern software engineering methodologies for mobile and cloud environments. Pennsylvania: IGI Global.

    Google Scholar 

  12. Czarnecki, K., & Helsen, S. (2006). Feature-based survey of model transformation approaches. IBM Systems Journal, 45(3), 621–645.

    Article  Google Scholar 

  13. Di Ruscio, D., Kolovos, D., & Matragkas, N. (2013). Scalability in model driven engineering: BigMDE’13 workshop summary. In Proceedings of the first workshop on scalability in model driven engineering (pp. 1–2).

  14. Engblom, J. (2012). A review of reverse debugging. In System, software, SoC and silicon debug conference (pp. 1–6).

  15. Ergin, H., & Syriani, E. (2014). Atompm solution for the IMDB case study. In Proceedings of the 7th transformation tool contest part of the software technologies: Applications and foundations (pp. 134–138).

  16. Gray, J., Tolvanen, J-P, Kelly, S., Gokhale, A., Neema, S., & Sprinkle, J. (2007). Domain-specific modeling. Handbook of Dynamic System Modeling, 7/1-7/20.

  17. Henkler, S., Meyer, J., Schafer, W., von Detten, M., & Nickel, U. (2010). Legacy component integration by the Fujaba real-time tool suite. In ACM/IEEE 32nd international conference on software engineering (pp. 267–270).

  18. Horn, T., Krause, C., & Tichy, M. (2014). The ttc 2014 movie database case. In Proceedings of the 7th transformation tool contest part of the software technologies: Applications and foundations (pp. 93–97).

  19. IEEE. (2002). IEEE 610-12.1990 IEEE standard glossary of software engineering terminology. IEEE. https://standards.ieee.org/findstds/standard/610.12-1990.html. Accessed 19 Sept 2015.

  20. Jouault, F., Allilaire, F., Bézivin, J., & Kurtev, I. (2008). ATL: A model transformation tool. Science of Computer Programming, 72(1–2), 31–39.

    MathSciNet  Article  MATH  Google Scholar 

  21. Jouault, F., & Kurtev, I. (2006). Transforming models with ATL. In Satellite events at the MoDELS 2005 conference (pp. 128–138).

  22. Kolovos, D. S., Rose, L. M., Matragkas, N., Paige, R. F., Guerra, E., Cuadrado, J. S., et al. (2013). A research roadmap towards achieving scalability in model driven engineering. In Proceedings of the workshop on scalability in model-driven engineering (pp. 1–10).

  23. Kühne, T. (2006). Matters of (meta-) modeling. Journal of Software and Systems Modeling, 5(4), 369–385.

    Article  Google Scholar 

  24. Lewis, B. (2003). Debugging backwards in time. In Proceedings of the fifth international workshop on automated debugging.

  25. Lienhard, A., Fierz, J., & Nierstrasz, O. (2009) Flow-centric, back-in-time debugging. In Proceedings of objects, components, models and patterns (pp. 272–288).

  26. Lienhard, A., Gîrba, T., & Nierstrasz, O. (2008). Practical object-oriented back-in-time debugging. In Proceedings of the 22nd European conference on object-oriented programming (pp. 592–615).

  27. Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G., et al. (2016). Model transformation intents and their properties. Journal of Software and Systems Modeling. doi:10.1007/s10270-014-0429-x.

    Google Scholar 

  28. Mannadiar, R., & Vangheluwe, H. (2011). Debugging in domain-specific modelling. In Software language engineering (pp. 276–285).

  29. Pothier, G., & Tanter, E. (2009). Back to the future: Omniscient debugging. IEEE Software, 26(6), 78–85.

    Article  Google Scholar 

  30. QVT. (2015). Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT) version 1.2. http://www.omg.org/spec/QVT/1.2. Accessed 19 Sept 2015.

  31. Schönböck, J. (2012). Testing and debugging of model transformations. Dissertation. The Vienna University of Technology. http://publik.tuwien.ac.at/showentry.php?ID=209018&lang=2. Accessed 19 Sept 2015.

  32. Schönböck, J., Kappel, G., Kusel, A., Retschitzegger, W., Schwinger, W., & Wimmer, M. (2009). Catch me if you can—debugging support for model transformations. In Proceedings of the 12th international conference on model-driven engineering, languages, and systems (pp. 5–20).

  33. Seifert, M., & Katscher, S. (2008). Debugging triple graph grammar-based model transformations. In Proceedings of 6th international Fujaba days (pp. 19–22).

  34. Selic, B. (2003). The pragmatics of model-driven development. IEEE Software, 20(5), 19–25.

    Article  Google Scholar 

  35. Steel, J., & Lawley, M. (2004). Model-based test driven development of the Tefkat model transformation engine. In Proceedings of the 15th IEEE international symposium on software reliability engineering (pp. 151–160).

  36. Stevens, P. (2010). Bidirectional model transformations in QVT: Semantic issues and open questions. Journal of Software and Systems Modeling, 9(1), 7–20.

    MathSciNet  Article  Google Scholar 

  37. Syriani, E., & Vangheluwe, H. (2011). A modular timed model transformation language. Journal of Software and Systems Modeling, 12(2), 387–414.

    Article  Google Scholar 

  38. Syriani, E., Vangheluwe, H., & LaShomb, B. (2015). T-Core: A framework for custom-built model transformation engines. Journal of Software and Systems Modeling, 14(3), 1215–1243.

    Article  Google Scholar 

  39. Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., & Ergin, H. (2013). AtomPM: A web-based modeling environment. In Joint Proceedings of MODELS invited talks, demonstration session, poster session, and ACM student research competition co-located with the 16th international conference on model driven engineering languages and systems.

  40. Szárnyas, G., Izsó, B., Ráth, I., Harmath, D., Bergmann, G., & Varró, D. (2014). IncQuery-D: A distributed incremental model query framework in the cloud. In Proceedings of the ACM/IEEE 17th international conference model-driven engineering languages and systems (pp. 653–669).

  41. Taentzer, G. (2003). AGG: A graph transformation environment for modeling and validation of software. In Proceedings of the second international workshop on applications of graph transformations with industrial relevance (pp. 446–453).

  42. Ujhelyi, Z., Horvath, A., & Varro, D. (2012). Dynamic backward slicing of model transformations. In IEEE fifth international conference on software testing, verification and validation (pp. 1–10).

  43. Van Mierlo, S. (2014). Explicit modelling of model debugging and experimentation. In Proceedings of doctoral symposium co-located with the 17th international conference on model driven engineering languages and systems.

  44. Varró, D., & Balogh, A. (2007). The model transformation language of the VIATRA2 framework. Science of Computer Programming, 68(3), 214–234.

    MathSciNet  Article  MATH  Google Scholar 

  45. Zelkowitz, M. V. (1973). Reversible execution. Communications of the ACM, 16(9), 566.

    Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jonathan Corley.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Corley, J., Eddy, B.P., Syriani, E. et al. Efficient and scalable omniscient debugging for model transformations. Software Qual J 25, 7–48 (2017). https://doi.org/10.1007/s11219-015-9304-4

Download citation

Keywords

  • Omniscient debugging
  • Model-driven engineering
  • Model transformation
  • Empirical evaluation