Deep specification and proof preservation for the CoqTL transformation language

被引:0
|
作者
Zheng Cheng
Massimo Tisi
机构
[1] Université de Lorraine,LORIA (CNRS, INRIA)
[2] IMT Atlantique,undefined
[3] LS2N (UMR CNRS 6004),undefined
来源
关键词
MDE; Model transformation; Programming language implementation; Certification; Theorem proving; Coq;
D O I
暂无
中图分类号
学科分类号
摘要
Executable engines for relational model-transformation languages evolve continuously because of language extension, performance improvement and bug fixes. While new versions generally change the engine semantics, end-users expect to get backward-compatibility guarantees, so that existing transformations do not need to be adapted at every engine update. The CoqTL model-transformation language allows users to define model transformations, theorems on their behavior and machine-checked proofs of these theorems in Coq. Backward-compatibility for CoqTL involves also the preservation of these proofs. However, proof preservation is challenging, as proofs are easily broken even by small refactorings of the code they verify. In this paper, we present the solution we designed for the evolution of CoqTL. We provide a deep specification of the transformation engine, including a set of theorems that must hold against the engine implementation. Then, at each milestone in the engine development, we certify the new version of the engine against this specification, by providing proofs of the impacted theorems. The certification formally guarantees end-users that all the proofs they write using the provided theorems will be preserved through engine updates. We illustrate the structure of the deep specification theorems, we produce a machine-checked certification of three versions of CoqTL against it, and we show examples of user proofs that leverage this specification and are thus preserved through the updates. Finally, we discuss the evolution of the deep specification by an extension mechanism, we present an evolution that introduces trace links in the specification, and we show which user proofs are preserved through specification evolutions.
引用
收藏
页码:1831 / 1852
页数:21
相关论文
共 50 条
  • [41] SEMANTICS OF A HARDWARE SPECIFICATION LANGUAGE
    LARSSON, T
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1986, 18 (1-5): : 637 - 643
  • [42] Language independent container specification
    Zamulin, AV
    [J]. GENERIC PROGRAMMING, 2000, 1766 : 192 - 205
  • [43] THE RAISE SPECIFICATION LANGUAGE - A TUTORIAL
    GEORGE, C
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1991, 552 : 238 - 319
  • [44] Language for Use Case Specification
    Savic, Dusan
    Antovic, Ilija
    Vlajic, Sinisa
    Stanojevic, Vojislav
    Milic, Milos
    [J]. 2011 34TH IEEE SOFTWARE ENGINEERING WORKSHOP (SEW 2011), 2011, : 19 - 26
  • [45] English as a formal specification language
    Schwitter, R
    [J]. 13TH INTERNATIONAL WORKSHOP ON DATABASE AND EXPERT SYSTEMS APPLICATIONS, PROCEEDINGS, 2002, : 228 - 232
  • [46] AN OVERVIEW OF SPECIFICATION LANGUAGE UNIVERSE
    ZHU, MY
    WANG, CW
    [J]. IFIP TRANSACTIONS A-COMPUTER SCIENCE AND TECHNOLOGY, 1992, 12 : 42 - 48
  • [47] MSL - A MATHEMATICAL SPECIFICATION LANGUAGE
    MAKAROV, VP
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 620 : 305 - 313
  • [48] FUNZ - AN INTERMEDIATE SPECIFICATION LANGUAGE
    SHERRELL, LB
    CARVER, DL
    [J]. COMPUTER JOURNAL, 1995, 38 (03): : 193 - 206
  • [49] The logic of the RAISE specification language
    George, C
    Haxthausen, AE
    [J]. COMPUTING AND INFORMATICS, 2003, 22 (3-4) : 323 - 350
  • [50] A new definitional specification language
    Redouane, A
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2003, PT 1, PROCEEDINGS, 2003, 2667 : 694 - 703