Towards Parallel Model Generation for Random Performance Testing of Model-Oriented Operations

Model-oriented operations, such as model transformation, model query, and model comparison, are the core of Model-Driven Engineering. Their scalability becomes an important issue when they are to be applied in industry. Large-scale models, however, are not widely available, making it hard to test the performance and coverage of those operations without any bias. To do so, one must be able to generate large models, which are syntactically correct, as test inputs efficiently and randomly. This paper proposes a parallel approach to generating large random model, which improves on our previous sequential algorithm. First, the paper identifies the dependencies existing in the process of model generation, which hinders parallelization. Then, the paper proposes a partitioning strategy that is able to turn a sequential generation task into a series of parallelizable subtasks. Experimental results of performance are also presented, which show that the parallel approach proposed can reduce 50% time costs compared to the sequential one in most cases, while the correctness and the randomness of the models generated by this approach are kept.

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

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

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

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

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

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

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

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

[9]  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).

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

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

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

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

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

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