Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated Software Engineering
A Proof-Carrying Code Architecture for Java
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Certification Support for Automatically Generated Programs
HICSS '03 Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03) - Track 9 - Volume 9
Extending Source Code Generators for Evidence-Based Software Certification
ISOLA '06 Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
Generating customized verifiers for automatically generated code
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Partial Translation Verification for Untrusted Code-Generators
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
An Extended MDA Architecture for Ensuring Semantics-Preserving Transformations
SEW '08 Proceedings of the 2008 32nd Annual IEEE Software Engineering Workshop
A graphical approach to prove the semantic preservation of UML/OCL refactoring rules
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Model-driven construction of certified binaries
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Formal verification of QVT transformations for code generation
Proceedings of the 14th international conference on Model driven engineering languages and systems
Hi-index | 0.00 |
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.