A generic framework for model-set selection for the unification of testing and learning MDE tasks

We propose a generic framework for model-set selection for learning or testing Model-Driven Engineering tasks. We target specifically tasks that apply to or manipulate models, such as model definition, model well-formedness checking, and model transformation. In our framework, we view the model-set selection as a multi-objective optimization problem. The framework can be tailored to the learning or testing of a specific task by firstly expressing the coverage criterion, which will be encoded as a first optimization objective. The coverage is expressed by tagging the subset of the input metamodel that is relevant to the considered task. Then, one or more minimality criteria are selected as additional optimization objectives. We illustrate the use of our framework with the testing of metamodels. This case study shows that the multi-objective approach gives better results than random and mono-objective selections.

[1]  Jean-Luc Dekeyser,et al.  Towards an automation of the mutation analysis dedicated to model transformation , 2015, Softw. Test. Verification Reliab..

[2]  Jürgen Dingel,et al.  Model transformation testing: the state of the art , 2012, AMT '12.

[3]  Berthold Hoffmann,et al.  Defining Models - Meta Models versus Graph Grammars , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[4]  Stephan Weißleder,et al.  Testing Metamodels , 2008, ECMDA-FA.

[5]  Yuanyuan Zhang,et al.  Achievements, Open Problems and Challenges for Search Based Software Testing , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[6]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[7]  Bruno Legeard,et al.  A taxonomy of model‐based testing approaches , 2012, Softw. Test. Verification Reliab..

[8]  Martin Glinz,et al.  Estimating footprints of model operations , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[9]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[10]  Yu Sun,et al.  Model transformation by demonstration , 2009, MoDELS.

[11]  Houari A. Sahraoui,et al.  Multi-Step Learning and Adaptive Search for Learning Complex Model Transformations from Examples , 2016, ACM Trans. Softw. Eng. Methodol..

[12]  Juan de Lara,et al.  Example-driven meta-model development , 2015, Software & Systems Modeling.

[13]  Esther Guerra,et al.  Specification-Driven Test Generation for Model Transformations , 2012, ICMT@TOOLS.

[14]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[15]  Juan de Lara,et al.  Bottom-up meta-modelling: an interactive approach , 2012, MODELS'12.

[16]  Houari A. Sahraoui,et al.  Design Defects Detection and Correction by Example , 2011, 2011 IEEE 19th International Conference on Program Comprehension.

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

[18]  Clémentine Nebut,et al.  Generation of operational transformation rules from examples of model transformations , 2012, MODELS'12.

[19]  Adel Ferdjoukh,et al.  A CSP Approach for Metamodel Instantiation , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

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

[21]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[22]  Yves Le Traon,et al.  Qualifying input test data for model transformations , 2009, Software & Systems Modeling.

[23]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[24]  Jordi Cabot,et al.  Test Data Generation for Model Transformations Combining Partition and Constraint Analysis , 2014, ICMT.

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

[26]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .

[27]  Houari A. Sahraoui,et al.  Example-based model-transformation testing , 2011, Automated Software Engineering.

[28]  Houari A. Sahraoui,et al.  Learning Implicit and Explicit Control in Model Transformations by Example , 2014, MoDELS.

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

[30]  Dániel Varró,et al.  Model transformation by example using inductive logic programming , 2008, Software & Systems Modeling.

[31]  Hao Wu Generating metamodel instances satisfying coverage criteria via SMT solving , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

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

[33]  Houari A. Sahraoui,et al.  Searching the Boundaries of a Modeling Space to Test Metamodels , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[34]  Houari A. Sahraoui,et al.  Search-based model transformation by example , 2010, Software & Systems Modeling.

[35]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[36]  Alexandr Murashkin,et al.  Visualization and exploration of optimal variants in product line engineering , 2013, SPLC '13.

[37]  Jordi Cabot,et al.  Static Analysis of Model Transformations for Effective Test Generation , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[38]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

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

[40]  Houari A. Sahraoui,et al.  Genetic-Programming Approach to Learn Model Transformation Rules from Examples , 2013, ICMT.

[41]  Michal Antkiewicz,et al.  Example-Driven Modeling: Model = Abstractions + Examples , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[42]  Yves Le Traon,et al.  Towards Dependable Model Transformations: Qualifying Input Test Data , 2007 .

[43]  Manuel Wimmer,et al.  Towards Model Transformation Generation By-Example , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[44]  Michal Antkiewicz,et al.  Effects of using examples on structural model comprehension: a controlled experiment , 2014, ICSE.

[45]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[46]  Esther Guerra,et al.  Theory and Practice of Model Transformation , 2017, Lecture Notes in Computer Science.

[47]  Benoît Combemale,et al.  Automatically Searching for Metamodel Well-Formedness Rules in Examples and Counter-Examples , 2013, MoDELS.

[48]  Krzysztof Czarnecki,et al.  Beyond Objects: Generative Programming , 1996 .

[49]  Martin Gogolla,et al.  Employing classifying terms for testing model transformations , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

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

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

[52]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..