An MDE performance testing framework based on random model generation

We propose a performance testing framework for model-related operations.We propose an efficient model generation algorithm for random data generation.Two case studies show the feasibility of our framework.Three experiments evaluate the randomness and the efficiency of our algorithm. The scalability of model-related operations (e.g., model transformations), when they are to be applied in industrial model-driven engineering, becomes an important issue. However, there is a lack of an automated performance testing framework for those operations, since the existing ones for ordinary programs are ill-suited. Such a framework is required to provide the function of creating and organizing test cases, and the ability of generating test input of large size automatically, because large scale models are not widely available, making it hard to test the performance and coverage of those operations without any bias. This paper proposes a performance testing framework, integrated with a random model generation algorithm, for model-related operations. The framework, based on a test model, can be used to specify and arrange test cases into test suites. And the model generation algorithm can generate a random model correctly and efficiently, according to the metamodel and user-defined constraints. Finally, we present two case studies, one experiment in randomness, and two experiments in generation efficiency to evaluate the framework and algorithm. Results show that the framework is competent to support performance testing of model-related operations, and the algorithm is random and efficient enough to generate test data for performance testing.

[1]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[2]  Jordi Cabot Sagrera,et al.  Verification of UML/OCL Class Diagrams Using Constraint Programming , 2008 .

[3]  Jordi Cabot,et al.  EMFtoCSP: A tool for the lightweight verification of EMF models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[4]  Jordi Cabot,et al.  ATLTest: a white-box test generation approach for ATL transformations , 2012, MODELS'12.

[5]  He Xiao,et al.  Randomized Model Generation for Performance Testing of Model Transformations , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

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

[7]  Olaf Zimmermann,et al.  Incremental Development of Model Transformation Chains Using Automated Testing , 2009, MoDELS.

[8]  Marouane Kessentini,et al.  Regression Testing for Model Transformations: A Multi-objective Approach , 2013, SSBSE.

[9]  Gerti Kappel,et al.  Theory and Practice of Model Transformations , 2013, Lecture Notes in Computer Science.

[10]  Jim Steel,et al.  Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[11]  Vicente Pelechano,et al.  Test-Driven Development of Model Transformations , 2009, MoDELS.

[12]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[13]  Alexis Darrasse,et al.  Uniform Random Generation of Huge Metamodel Instances , 2009, ECMDA-FA.

[14]  Robert Wille,et al.  Encoding OCL Data Types for SAT-Based Verification of UML/OCL Models , 2011, TAP@TOOLS.

[15]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[16]  Mark van den Brand,et al.  Model Transformation Analysis: Staying Ahead of the Maintenance Nightmare , 2011, ICMT@TOOLS.

[17]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[18]  Hao Wu,et al.  Metamodel Instance Generation: A systematic literature review , 2012, ArXiv.

[19]  Hui Song,et al.  Supporting runtime software architecture: A bidirectional-transformation-based approach , 2011, J. Syst. Softw..

[20]  James F. Power,et al.  A Metamodel for the Measurement of Object-Oriented Systems: An Analysis using Alloy , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[21]  Esther Guerra,et al.  Specification-driven model transformation testing , 2015, Software & Systems Modeling.

[22]  Gerson Sunyé,et al.  Partial Test Oracle in Model Transformation Testing , 2013, ICMT.

[23]  Martin Gogolla,et al.  Verifying UML/OCL models using Boolean satisfiability , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[24]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[25]  Guy Louchard,et al.  Boltzmann Samplers for the Random Generation of Combinatorial Structures , 2004, Combinatorics, Probability and Computing.

[26]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .