An exploratory study on performance engineering in model transformations

Model-Driven Software Engineering (MDSE) is a widely used approach to deal with the increasing complexity of software. This increasing complexity also leads to the fact that the models used and the model transformations applied become larger and more complex as well. This means that the execution performance of model transformations is gaining in importance. While improving the performance of model transformation execution engines has been a focus of the MDSE-community in the past, there does not exist any empirical study on how developers of model transformation deal with performance issues. Consequently, we conducted an exploratory mixed method study consisting of a quantitative online survey and a qualitative interview study. We used a questionnaire to investigate whether the performance of a transformation is actually important for transformation developers and whether they have already tried to improve the performance of a model transformation. Subsequently, we conducted semi-structured interviews based on the answers to the questionnaire to investigate how transformation developers deal with performance issues, what causes and solutions they found and also what they think could help them to easier find causes. The results of the quantitative online survey show that 43 of 81 participants have already tried to improve the performance of a transformation and 34 of the 81 are sometimes or only rarely satisfied with the execution performance. Based on the answers from our 13 interviews, we identified different strategies to prevent or find performance issues in model transformations as well as different types of causes of performance issues and solutions. Finally, we compiled a collection of additional tool features perceived helpful by the interviewees to address performance issues.

[1]  Xiao Wang,et al.  How Are Performance Issues Caused and Resolved?-An Empirical Study from a Design Perspective , 2020, ICPE.

[2]  Rémi Douence,et al.  CoqTL: a Coq DSL for rule-based model transformation , 2019, Software and Systems Modeling.

[3]  Artur Boronat,et al.  Expressive and Efficient Model Transformation with an Internal DSL of Xtend , 2018, MoDELS.

[4]  Richard F. Paige,et al.  Parallel Model Validation with Epsilon , 2018, ECMFA.

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

[6]  Timo Kehrer,et al.  Henshin: A Usability-Focused Framework for EMF Model Transformation Development , 2017, ICGT.

[7]  André van Hoorn,et al.  Application Performance Management: State of the Art and Challenges for the Future , 2017, ICPE.

[8]  Andy Schürr,et al.  A Look-Ahead Strategy for Rule-Based Model Transformations , 2017, MoDELS.

[9]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[10]  Martin Johnson,et al.  Systematic methodological review: developing a framework for a qualitative semi-structured interview guide. , 2016, Journal of advanced nursing.

[11]  Antonio Vallecillo,et al.  A Linda-based platform for the parallel execution of out-place model transformations , 2016, Inf. Softw. Technol..

[12]  Juan de Lara,et al.  Efficient model partitioning for distributed model transformations , 2016, SLE.

[13]  Ákos Horváth,et al.  Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework , 2016, Software & Systems Modeling.

[14]  Jordi Cabot,et al.  Distributed model-to-model transformation with ATL on MapReduce , 2015, SLE.

[15]  N. Ivankova,et al.  Mixed Methods Research: A Guide to the Field , 2015 .

[16]  Ákos Horváth,et al.  EMF-IncQuery: An integrated development environment for live model queries , 2015, Sci. Comput. Program..

[17]  Dániel Varró,et al.  IncQuery-D: A Distributed Incremental Model Query Framework in the Cloud , 2014, MoDELS.

[18]  Jordi Cabot,et al.  Improving the Scalability of Web Applications with Runtime Transformations , 2014, ICWE.

[19]  Roozbeh Farahbod,et al.  Automatic detection of performance anti-patterns in inter-component communications , 2014, QoSA '14.

[20]  Andy Schürr,et al.  An algorithm for generating model-sensitive search plans for pattern matching on EMF models , 2013, Software & Systems Modeling.

[21]  Salvador Martínez Perez,et al.  Parallel Execution of ATL Transformation Rules , 2013, MoDELS.

[22]  Markus Völter,et al.  JetBrains MPS as a tool for extending Java , 2013, PPPJ.

[23]  Matthias Tichy,et al.  Detecting Performance Bad Smells for Henshin Model Transformations , 2013, AMT@MoDELS.

[24]  Jürgen Dingel,et al.  Towards a model transformation intent catalog , 2012, AMT '12.

[25]  Jordi Cabot,et al.  A Catalogue of Refactorings for Model-to-Model Transformations , 2012, J. Object Technol..

[26]  Martin Gogolla,et al.  Object Constraint Language (OCL): A Definitive Guide , 2012, SFM.

[27]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[28]  Roberto Bruni,et al.  Evaluating the Performance of Model Transformation Styles in Maude , 2011, FACS.

[29]  Luís Ferreira Pires,et al.  Performance in Model Transformations: Experiments with ATL and QVT , 2011, ICMT@TOOLS.

[30]  Mark Rouncefield,et al.  Model-driven engineering practices in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[31]  Márk Asztalos,et al.  Manual and automated performance optimization of model transformation systems , 2010, International Journal on Software Tools for Technology Transfer.

[32]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[33]  William Piers,et al.  ATL 3 . 1 – Industrialization improvements , 2010 .

[34]  Holger Giese,et al.  Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques , 2009 .

[35]  Jean Bézivin,et al.  Optimization Patterns for OCL-Based Model Transformations , 2009, MoDELS.

[36]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

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

[38]  Rubino Geiß,et al.  A First Experimental Evaluation of Search Plan Driven Graph Pattern Matching , 2008, AGTIVE.

[39]  Willem E. Saris,et al.  Design, Evaluation, and Analysis of Questionnaires for Survey Research , 2007 .

[40]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.

[41]  R. Grover The Handbook of Marketing Research: Uses, Misuses, and Future Advances , 2006 .

[42]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[43]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[44]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[45]  Bente Anda,et al.  Experiences from conducting semi-structured interviews in empirical software engineering research , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[46]  N. Malhotra QUESTIONNAIRE DESIGN AND SCALE DEVELOPMENT , 2005 .

[47]  S. Mohan,et al.  Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software [Book Review] , 2003, IEEE Software.

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

[49]  Connie U. Smith,et al.  Performance solutions: a practical guide to creating responsive , 2001 .

[50]  Connie U. Smith,et al.  Software performance antipatterns , 2000, WOSP '00.

[51]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[52]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[53]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .