A Formally Verified Sequentializer for Lustre-Like Concurrent Synchronous Data-Flow Programs

被引:4
|
作者
Shi, Gang [1 ]
Gan, Yuanke [1 ]
Shang, Shu [1 ]
Wang, Shengyuan [1 ]
Dong, Yuan [1 ]
Yew, Pen-Chung [2 ]
机构
[1] Tsinghua Univ, Dept Comp Sci & Technol, Beijing, Peoples R China
[2] Univ Minnesota, Dept Comp Sci & Engn, Minneapolis, MN 55455 USA
来源
PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017) | 2017年
关键词
Synchronous Data-flow Languages; Concurrency; Semantics; Determinism; Verification; Sequentialization; Verified Compiler;
D O I
10.1109/ICSE-C.2017.83
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Synchronous data-flow languages (SDFL), such as Lustre [1], is a concurrent language that has been widely used in safety-critical systems. Verified compilers for such languages are crucial in generating trustworthy object code. A good approach is to first translate a concurrent SDFL program to a sequential intermediate representation, such as a Clight [2] code, and then use an existing verified compiler such as CompCert [3] to produce executable object code for the target machine. A verified Sequentializer is crucial in such a verified compiler. It produces a sequential topological order among the program statements that preserve the program dependencies and the dynamic semantics of the original program. In this paper, we show such an approach for a SDFL language such as Lustre. The approach is general enough to be applicable to other SDFLs as well. It first gives a formal specification of the operational semantics, and proves its determinism property for a Lustre-like program. It then formally proves the equivalence of the original concurrent semantics and its target sequential semantics using the well-established proof assistant Coq ([4], [5]), and extracts the certified code for such a sequentializer by Coq.
引用
收藏
页码:109 / 111
页数:3
相关论文
共 10 条
  • [1] A Modular Memory Optimization for Synchronous Data-Flow Languages Application to Arrays in a Lustre Compiler
    Gerard, Leonard
    Guatto, Adrien
    Pasteur, Cedric
    Pouzet, Marc
    ACM SIGPLAN NOTICES, 2012, 47 (05) : 51 - 60
  • [2] Grafcet revisited with a synchronous data-flow language
    Le Parc, P
    L'Her, D
    Scharbarg, JL
    Marcé, L
    IEEE TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART A-SYSTEMS AND HUMANS, 1999, 29 (03): : 284 - 293
  • [3] Abstraction of Clocks in Synchronous Data-Flow Systems
    Cohen, Albert
    Mandel, Louis
    Plateau, Florence
    Pouzet, Marc
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2008, 5356 : 237 - +
  • [4] Construction for the trustworthy compiler of a synchronous data-flow language
    Shi, Gang
    Wang, Sheng-Yuan
    Dong, Yuan
    Ji, Zhi-Yuan
    Gan, Yuan-Ke
    Zhang, Ling-Bo
    Zhang, Yu-Cheng
    Wang, Lei
    Yang, Fei
    Ruan Jian Xue Bao/Journal of Software, 2014, 25 (02): : 341 - 356
  • [5] Clock-directed modular code generation for synchronous data-flow languages
    Biernacki, Dariusz
    Colaco, Jean-Louis
    Hamon, Gregoire
    Pouzet, Marc
    ACM SIGPLAN NOTICES, 2008, 43 (07) : 121 - 130
  • [6] Clock-directed Modular Code Generation for Synchronous Data-flow Languages
    Biernacki, Dariusz
    Colaco, Jean-Louis
    Hamon, Gregoire
    Pouzet, Marc
    LCTES'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN-SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2008, : 121 - 130
  • [7] Logico-Numerical Abstract Acceleration and Application to the Verification of Data-Flow Programs
    Schrammel, Peter
    Jeannet, Bertrand
    STATIC ANALYSIS, 2011, 6887 : 233 - 248
  • [8] DICER 2.0: A New Model Checker for Data-Flow Errors of Concurrent Software Systems
    Xiang, Dongming
    Zhao, Fang
    Liu, Yaping
    MATHEMATICS, 2021, 9 (09)
  • [9] Efficient composite data flow analysis applied to concurrent programs
    Naumovich, G
    Clarke, LA
    Osterweil, LJ
    ACM SIGPLAN NOTICES, 1998, 33 (07) : 51 - 58
  • [10] Anomaly detection in concurrent Java']Java programs using dynamic data flow analysis
    Saleh, K
    Boujarwah, AA
    Al-Dallal, J
    INFORMATION AND SOFTWARE TECHNOLOGY, 2001, 43 (15) : 973 - 981