A survey of approaches for verifying model transformations

As with other software development artifacts, model transformations are not bug-free and so must be systematically verified. Their nature, however, means that transformations require specialist verification techniques. This paper brings together current research on model transformation verification by classifying existing approaches along two dimensions. Firstly, we present a coarse-grained classification based on the technical details of the approach (e.g., testing, theorem proving, model checking). Secondly, we present a finer-grained classification which categorizes approaches according to criteria such as level of formality, transformation language, properties verified. The purpose of the survey is to bring together research in model transformation verification to act as a resource for the community. Furthermore, based on the survey, we identify a number of trends in current and past research on model transformation verification.

[1]  Jon Whittle,et al.  Model Transformations Should Be More Than Just Model Generators , 2005 .

[2]  Hartmut Ehrig,et al.  Correctness of model synchronization based on triple graph grammars , 2011, MODELS'11.

[3]  Michael R. Lowry,et al.  Amphion/NAV: deductive synthesis of state estimation software , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[4]  Hartmut Ehrig,et al.  Information Preserving Bidirectional Model Transformations , 2007, FASE.

[5]  Levi Lucio,et al.  A technique for automatic validation of model transformations , 2010, MODELS'10.

[6]  Kevin Lano,et al.  Model-Driven Development of Model Transformations , 2011, ICMT@TOOLS.

[7]  Martin Strecker,et al.  Modeling and Verifying Graph Transformations in Proof Assistants , 2008, TERMGRAPH@ETAPS.

[8]  M. Pantel,et al.  Certifying an Automated Code Generator Using Formal Tools : Preliminary experiments in the GeneAuto project , 2008 .

[9]  Stéphane Ducasse,et al.  Object-Oriented Metrics in Practice , 2005 .

[10]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

[11]  Iman Poernomo Proofs-as-Model-Transformations , 2008, ICMT@TOOLS.

[12]  Kurt Stenzel,et al.  Formal verification of QVT transformations for code generation , 2011, MODELS'11.

[13]  Kevin Lano,et al.  Specification and Verification of Model Transformations Using UML-RSDS , 2010, IFM.

[14]  Gabor Karsai,et al.  Towards Verifying Model Transformations , 2008, GT-VMT@ETAPS.

[15]  Jarke J. van Wijk,et al.  Visual Comparison of Hierarchically Organized Data , 2008, Comput. Graph. Forum.

[16]  van den Mgj Mark Brand,et al.  Metrics for analyzing the quality of model transformations , 2008 .

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

[18]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[19]  Laurence Duchien,et al.  OCL for the Specification of Model Transformation Contracts , 2004 .

[20]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[21]  Ingo Stürmer,et al.  Systematic Testing of Model-Based Code Generators , 2007, IEEE Transactions on Software Engineering.

[22]  Amir Pnueli,et al.  The Code Validation Tool (CVT) , 1998, International Journal on Software Tools for Technology Transfer (STTT).

[23]  Marina Egea,et al.  Formal executable semantics for conformance in the MDE framework , 2010, Innovations in Systems and Software Engineering.

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

[25]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[26]  Paul H. Lewis,et al.  Estimating the quality of functional programs: an empirical investigation , 1995, Inf. Softw. Technol..

[27]  Iman Poernomo,et al.  Correct-by-Construction Model Transformations from Partially Ordered Specifications in Coq , 2010, ICFEM.

[28]  Gerhard Goos Compiler Verification and Compiler Architecture , 2002, Electron. Notes Theor. Comput. Sci..

[29]  Thomas Goldschmidt,et al.  A Pattern Mining Approach Using QVT , 2009, ECMDA-FA.

[30]  Ralf Möller,et al.  Certification of transformation algorithms in model-driven software development , 2007, Software Engineering.

[31]  Jürgen Dingel,et al.  A Tridimensional Approach for Studying the Formal Verification of Model Transformations , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[32]  Jochen Malte Küster,et al.  Definition and validation of model transformations , 2006, Software & Systems Modeling.

[33]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[34]  B. Baudry,et al.  Validation in model-driven engineering: testing model transformations , 2004, Proceedings. 2004 First International Workshop on Model, Design and Validation, 2004..

[35]  Andrés Vignaga Measuring ATL Transformations∗ , 2009 .

[36]  Alexander K. Petrenko,et al.  Automatic Test Generation for Model-Based Code Generators , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[37]  Márk Asztalos,et al.  Towards Automated, Formal Verification of Model Transformations , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[38]  Johann Schumann,et al.  Certification support for automatically generated programs , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[39]  Mark van den Brand,et al.  Using Metrics for Assessing the Quality of ASF+SDF Model Transformations , 2009, ICMT@TOOLS.

[40]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

[41]  Martin Fränzle,et al.  Provably Correct Compiler Development and Implementation , 1992, CC.

[42]  David A. Carrington,et al.  Automatic Generation of Test Models for Model Transformations , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

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

[44]  Sabine Glesner,et al.  Formal Verification of Java Code Generation from UML Models , 2005 .

[45]  Michael R. Lowry,et al.  Explaining synthesized software , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[46]  Richard F. Paige,et al.  Model comparison: a foundation for model composition and model transformation testing , 2006, GaMMa '06.

[47]  José Meseguer,et al.  Specification and proof in membership equational logic , 2000, Theor. Comput. Sci..

[48]  Sagar Chaki,et al.  Model-driven construction of certified binaries , 2007, MODELS'07.

[49]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[50]  Ewen Denney,et al.  Generating customized verifiers for automatically generated code , 2008, GPCE '08.

[51]  Jorge C. A. de Figueiredo,et al.  An Extended MDA Architecture for Ensuring Semantics-Preserving Transformations , 2008, 2008 32nd Annual IEEE Software Engineering Workshop.

[52]  George C. Necula,et al.  Proof-Carrying Code , 2011, Encyclopedia of Cryptography and Security.

[53]  Manuel Clavel,et al.  ITP/OCL: A Rewriting-Based Validation Tool for UML+OCL Static Class Diagrams , 2006, AMAST.

[54]  Fernando Orejas,et al.  On the Specification and Verification of Model Transformations , 2009, Semantics and Algebraic Specification.

[55]  J. Schumann,et al.  Automatic Certification of Kalman Filters for Reliable Code Generation , 2005, 2005 IEEE Aerospace Conference.

[56]  Kurt Stenzel,et al.  Formal System Development with KIV , 2000, FASE.

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

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

[59]  Marcel van Amstel The Right Tool for the Right Job: Assessing Model Transformation Quality , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[60]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[61]  Ethan K. Jackson,et al.  Components, platforms and possibilities: towards generic automation for MDA , 2010, EMSOFT '10.

[62]  van den Mgj Mark Brand,et al.  Quality assessment of ATL model transformations using metrics , 2011 .

[63]  Mats Per Erik Heimdahl,et al.  Partial Translation Verification for Untrusted Code-Generators , 2008, ICFEM.

[64]  Yves Le Traon,et al.  Reusable MDA components: a testing-for-trust approach , 2006, MoDELS'06.

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

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

[67]  Jon Whittle,et al.  Identifying state space reduction techniques from behavioural design patterns , 2011, BM-FA '11.

[68]  Thomas Baar,et al.  A Graphical Approach to Prove the Semantic Preservation of UML/OCL Refactoring Rules , 2006, Ershov Memorial Conference.

[69]  Michael J. Maher,et al.  The Semantics of Constraint Logic Programs , 1998, J. Log. Program..

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

[71]  M. Wimmer,et al.  Right or Wrong ? – Verification of Model Transformations using Colored Petri Nets , 2009 .

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

[73]  Daniel Balasubramanian,et al.  Reasoning about metamodeling with formal specifications and automatic proofs , 2011, MODELS'11.

[74]  Maher Lamari,et al.  Towards an automated test generation for the verification of model transformations , 2007, SAC '07.

[75]  Leslie Lamport,et al.  The PlusCal Algorithm Language , 2009, ICTAC.

[76]  Tobias Rötschke,et al.  Metamodel-based tool integration with moflon , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[77]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[78]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[79]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[80]  Haruhiko Kaiya,et al.  Measuring Model Transformation in Model Driven Development , 2007, CAiSE Forum.

[81]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[82]  Reiko Heckel,et al.  Defining and validating transformations of UML models , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[83]  C. A. R. Hoare The Verifying Compiler, a Grand Challenge for Computing Research , 2005, VMCAI.

[84]  László Lengyel,et al.  A formalism for describing modeling transformations for verification , 2009, MoDeVVa '09.

[85]  Mario Piattini,et al.  Assessing the impact of coupling on the understandability and modifiability of OCL expressions within UML/OCL combined models , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[86]  Arie van Deursen,et al.  Understanding Execution Traces Using Massive Sequence and Circular Bundle Views , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

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

[88]  Dániel Varró,et al.  Termination Analysis of Model Transformations by Petri Nets , 2006, ICGT.

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

[90]  Kevin Lano,et al.  Integrating goal-oriented measurement for evaluation of model transformation , 2011, 2011 CSI International Symposium on Computer Science and Software Engineering (CSSE).

[91]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[92]  Steffen Becker,et al.  Evaluating Maintainability with Code Metrics for Model-to-Model Transformations , 2010, QoSA.

[93]  Jorge C. A. de Figueiredo,et al.  Checking Semantics Equivalence of MDA Transformations in Concurrent Systems , 2009, J. Univers. Comput. Sci..

[94]  Gabor Karsai,et al.  On the Correctness of Model Transformations in the Development of Embedded Systems , 2006, Monterey Workshop.

[95]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[96]  Kevin Lano,et al.  Model Transformation Specification and Verification , 2008, 2008 The Eighth International Conference on Quality Software.

[97]  David A. Carrington,et al.  Verifying metamodel coverage of model transformations , 2006, Australian Software Engineering Conference (ASWEC'06).

[98]  Yves Le Traon,et al.  Model transformation testing: oracle issue , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[99]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

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

[101]  Leslie Lamport Checking a Multithreaded Algorithm with +CAL , 2006, DISC.

[102]  Jon Whittle,et al.  Verifying semantic conformance of state machine-to-java code generators , 2010, MODELS'10.

[103]  Mirko Conrad,et al.  Experiences with model and autocode reviews in model-based software development , 2006, SEAS '06.

[104]  Nora Szasz,et al.  A Type-Theoretic Framework for Certified Model Transformations , 2010, SBMF.

[105]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

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

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

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