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 条
  • [1] Deep specification and proof preservation for the CoqTL transformation language
    Cheng, Zheng
    Tisi, Massimo
    [J]. SOFTWARE AND SYSTEMS MODELING, 2022, 21 (05): : 1831 - 1852
  • [2] Transformation of a language L* specification of an FSM into an automata equivalent specification in the language L
    A. N. Chebotarev
    [J]. Cybernetics and Systems Analysis, 2010, 46 (4) : 574 - 582
  • [3] TRANSFORMATION OF A LANGUAGE L* SPECIFICATION OF AN FSM INTO AN AUTOMATA EQUIVALENT SPECIFICATION IN THE LANGUAGE L
    Chebotarev, A. N.
    [J]. CYBERNETICS AND SYSTEMS ANALYSIS, 2010, 46 (04) : 574 - 582
  • [4] CoqTL: An Internal DSL for Model Transformation in Coq
    Tisi, Massimo
    Cheng, Zheng
    [J]. THEORY AND PRACTICE OF MODEL TRANSFORMATION, ICMT 2018, 2018, 10888 : 142 - 156
  • [5] CASL - The common algebraic specification language: Semantics and proof theory
    Mossakowski, T
    Haxthausen, AE
    Sannella, D
    Tarlecki, A
    [J]. COMPUTING AND INFORMATICS, 2003, 22 (3-4) : 285 - 321
  • [6] SEMANTICS OF A HARDWARE SPECIFICATION LANGUAGE AND RELATED TRANSFORMATION RULES
    LARSSON, T
    [J]. INTEGRATION-THE VLSI JOURNAL, 1987, 5 (02) : 145 - 158
  • [7] CoqTL: a Coq DSL for rule-based model transformation
    Zheng Cheng
    Massimo Tisi
    Rémi Douence
    [J]. Software and Systems Modeling, 2020, 19 : 425 - 439
  • [8] CoqTL: a Coq DSL for rule-based model transformation
    Cheng, Zheng
    Tisi, Massimo
    Douence, Remi
    [J]. SOFTWARE AND SYSTEMS MODELING, 2020, 19 (02): : 425 - 439
  • [9] Bisimulation proof methods in a path-based specification language for polynomial coalgebras
    [J]. Zhou, Xiao-Cong, 1600, Cambridge University Press (760):
  • [10] Bisimulation proof methods in a path-based specification language for polynomial coalgebras
    Zhou, Xiao-Cong
    Li, Yong-Ji
    Li, Wen-Jun
    Qiao, Hai-Yan
    Shu, Zhong-Mei
    [J]. MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2015, 25 (04) : 765 - 804