Verifying semantic conformance of state machine-to-java code generators

  • Authors:
  • Lukman Ab Rahim;Jon Whittle

  • Affiliations:
  • School of Computing and Communications, InfoLab21, Lancaster University, Lancaster, UK;School of Computing and Communications, InfoLab21, Lancaster University, Lancaster, UK

  • Venue:
  • MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

When applying model-driven engineering to safety-critical systems, the correctness of model transformations is crucial. In this paper, we investigate a novel approach to verifying the conformance to source language semantics of model-to-code transformations that uses annotations in the generated code. These annotations are inserted by the transformation and are used to guide a model checker to verify that the generated code satisfies the semantics of the source language - UML state machines in this paper. Verifying the generated output in this way is more efficient than formally verifying the transformation's definition. The verification is performed using Java Pathfinder (JPF) [1], a model checker for Java source code. The approach has been applied to verify three UML state machine to Java code generators: one developed by us and two commercial generators (Rhapsody and Visual Paradigm). We were able to detect non-conformance in both commercial tools, which failed some semantic properties extracted from the UML specification.