• DocumentCode
    185190
  • Title

    Uncovering Errors in ATL Model Transformations Using Static Analysis and Constraint Solving

  • Author

    Sanchez Cuadrado, Jesus ; Guerra, Edmundo ; De Lara, Juan

  • Author_Institution
    Univ. Autonoma de Madrid, Madrid, Spain
  • fYear
    2014
  • fDate
    3-6 Nov. 2014
  • Firstpage
    34
  • Lastpage
    44
  • Abstract
    Model transformations play a prominent role in Model-Driven Engineering (MDE), where they are used to transform models between languages, to refactor and simulate models, or to generate code from models. However, while the reliability of any MDE process depends on the correctness of its transformations, methods helping in detecting errors in transformations and automate their verification are still needed. To improve this situation, we propose a method for the static analysis of one of the most widely used model transformation languages: ATL. The method proceeds in three steps. Firstly, it infers typing information from the transformation and detects potential errors statically. Then, it generates OCL path conditions for the candidate errors, stating the requirements for a model to hit the problematic statements in the transformation. Last, it relies on constraint solving to generate a test model fragment or witness that exercises the transformation, making it execute the problematic statement. Our method is supported by a prototype tool that integrates a static analyzer, a testing tool and a constraint solver. We have used the tool to analyse medium and large-size third-party ATL transformations, discovering a wide number of errors.
  • Keywords
    error detection; formal languages; formal verification; program compilers; program diagnostics; program testing; software reliability; ATL model transformation; MDE process reliability; OCL path condition; constraint solver; constraint solving; error detection; generate code; model transformation language; model-driven engineering; problematic statement; static analysis; static analyzer; test model fragment; testing tool; third-party ATL transformation; Abstracts; Analytical models; Computational modeling; Runtime; Syntactics; Testing; Unified modeling language; Constraint Solving; Model Transformation; Model-Driven Engineering; Static Analysis; Verification and Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on
  • Conference_Location
    Naples
  • ISSN
    1071-9458
  • Print_ISBN
    978-1-4799-6032-3
  • Type

    conf

  • DOI
    10.1109/ISSRE.2014.10
  • Filename
    6982352