Automated translation of VDM to JML-annotated Java

被引:0
|
作者
Peter W. V. Tran-Jørgensen
Peter Gorm Larsen
Gary T. Leavens
机构
[1] Aarhus University,
[2] University of Central Florida,undefined
关键词
Design-by-Contract; Formal methods; VDM; Java; JML; Code-generation;
D O I
暂无
中图分类号
学科分类号
摘要
When a system specified using the Vienna Development Method (VDM) is realised using code-generation, no guarantees are currently made about the correctness of the generated code. In this paper, we improve code-generation of VDM models by taking contract-based elements such as invariants and pre- and postconditions into account during the code-generation process. The contract-based elements of the Vienna Development Method Specification Language (VDM-SL) are translated into corresponding constructs in the Java Modelling Language (JML) and used to validate the generated code against the properties of the VDM model. VDM-SL and JML are both Design-by-Contract (DbC) languages, with the difference that VDM-SL supports abstract modelling and system specification, while JML is used for detailed specification of Java classes and interfaces. We describe the semantic differences between the contract-based elements of VDM-SL and JML and formulate the translation as a set of rules. We further demonstrate how dynamic JML assertion checks can be used to ensure the consistency of VDM’s subtypes when a model is code-generated. The translator is fully automated and produces JML-annotated Java programs that can be checked for correctness using JML tools.
引用
收藏
页码:211 / 235
页数:24
相关论文
共 50 条
  • [41] A HISTORY OF QARABAGH - AN ANNOTATED TRANSLATION OF JAVA']JAVANSHIRQARABAGHI,MIRZA,JAMAL TARIKH-E QARABAGH - BOURNOUTIAN,GA
    PAPAZIAN, DR
    MIDDLE EAST JOURNAL, 1995, 49 (01): : 164 - 165
  • [42] A framework for automated testing from VDM-SL specifications
    Nadeem, A
    Jaffar-Ur-Rehman, M
    INMIC 2004: 8TH INTERNATIONAL MULTITOPIC CONFERENCE, PROCEEDINGS, 2004, : 428 - 433
  • [43] Automated black-box testing with abstract VDM oracles
    Aichernig, BK
    COMPUTER SAFETY, RELIABILITY AND SECURITY, 1999, 1698 : 250 - 259
  • [44] Automatic Translation from Circus to Java']Java
    Freitas, Angela
    Cavalcanti, Ana
    FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 115 - 130
  • [45] A provenly correct translation of tickle into Java']Java
    Ancona, D.
    Anderson, C.
    Damiani, F.
    Drossopoulou, S.
    Giannini, R.
    Zlicca, E.
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2007, 29 (02):
  • [46] Automatic translation from Java']Java to Spark
    Li, Bing
    Xiao, Xueli
    Pan, Yi
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2018, 30 (20):
  • [47] Object-oriented Programming Laws for Annotated Java']Java Programs
    Freitas, Gabriel Falconieri
    Cornelio, Marcio
    Massoni, Tiago
    Gheyi, Rohit
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2010, (21): : 65 - 76
  • [48] An automated learning system for Java']Java programming
    Daly, C
    Horgan, JM
    IEEE TRANSACTIONS ON EDUCATION, 2004, 47 (01) : 10 - 17
  • [49] Automated Test Generation for Java']Java Generics
    Fraser, Gordon
    Arcuri, Andrea
    SOFTWARE QUALITY: MODEL-BASED APPROACHES FOR ADVANCED SOFTWARE AND SYSTEMS ENGINEERING, 2014, 166 : 185 - 198
  • [50] Automated Analysis of Java']Java Methods for Confidentiality
    Cerny, Pavol
    Alur, Rajeev
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2009, 5643 : 173 - 187