Systematic Testing of Graph Transformations: A Practical Approach Based on Graph Patterns

Correctness is an essential property of model transformations. Although testing is a well-accepted method for assuring software quality in general, the properties of declarative transformation languages often prevent a direct application of testing strategies from imperative programming languages. A key challenge of transformation testing concerns limiting the testing effort by a good stop criterion. In this work, we tackle this issue for programmed graph transformations, and present a practical methodology to derive sufficient test suites based on a new coverage notion inspired by mutation analysis. We systematically generate requirement (graph) patterns from the transformation under test, applying different requirement construction strategies, and analyze the approach in terms of practicability, test suite quality and the ability to guide and support test case construction.

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

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

[3]  James F. Power,et al.  White-Box Coverage Criteria for Model Transformations , 2009 .

[4]  Andy Schürr,et al.  Optimizing Model-Based Software Product Line Testing with Graph Transformations , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[6]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[7]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

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

[9]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[10]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[11]  Holger Giese,et al.  Automatic Conformance Testing of Optimized Triple Graph Grammar Implementations , 2011, AGTIVE.

[12]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[13]  Leif Geiger Fehlersuche im Modell: modellbasiertes Testen und Debuggen , 2011 .

[14]  Jochen Malte Küster,et al.  Validation of model transformations: first experiences using a white box approach , 2006, MoDELS'06.

[15]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[16]  Ingo Stürmer,et al.  Generating Test Cases for Code Generators by Unfolding Graph Transformation Systems , 2004, ICGT.

[17]  Andy Schürr,et al.  Emoflon: leveraging EMF and professional CASE tools , 2011, GI-Jahrestagung.

[18]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

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

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

[21]  Hartmut Ehrig,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 2000 .

[22]  Yves Le Traon,et al.  Model Transformation Testing Challenges , 2006 .

[23]  Reiko Heckel,et al.  Automatic Conformance Testing of Web Services , 2005, FASE.

[24]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[25]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[26]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[27]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[28]  Raffaela Mirandola,et al.  MANTra: Towards Model Transformation Testing , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[29]  Dániel Varró,et al.  Towards Testing the Implementation of Graph Transformations , 2008, Electron. Notes Theor. Comput. Sci..

[30]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.

[31]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[32]  Andy Schürr,et al.  Electronic Communications of the EASST Volume 54 ( 2012 ) Proceedings of the 7 th International Workshop on Graph Based Tools ( GraBaTs 2012 ) Gray Box Coverage Criteria for Testing Graph Pattern Matching , 2012 .

[33]  Gregor Engels,et al.  Test Suite Quality for Model Transformation Chains , 2011, TOOLS.

[34]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[35]  Juan de Lara,et al.  A UML/OCL framework for the analysis of graph transformation rules , 2009, Software & Systems Modeling.