Validation of transformation from abstract state machine models to C++ code
|S. Bonfanti, A. Gargantini, A. Mashkoor. Validation of transformation from abstract state machine models to C++ code. volume 11146, pages 17-32, DOI 10.1007/978-3-319-99927-2_2, 9, 2018.|
|Buch||Testing Software and Systems - Proc. ICTSS 2018|
|Serie||Lecture Notes in Computer Science|
The automatic transformation of models to code is one of the most important cornerstones in the model-driven engineering paradigm. Starting from system models, users are able to automatically generate machine code in a seamless manner with an assurance of potential bug freeness of the generated code. Asm2C++  is the tool that transforms Abstract State Machine models to C++ code. However, no validation activities have been performed in the past to guarantee the correctness of the transformation process. In this paper, we define a mechanism to test the correctness of the model-to-code transformation with respect to two main criteria: syntactical correctness and semantic correctness, which is based on the definition of conformance between the specification and the code. Using this approach, we have devised a process able to test the generated code by reusing unit tests. Coverage measures give a user the confidence that the generated code has the same behavior as specified by the ASM model.