[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/ICSE-C.2017.83acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A formally verified sequentializer for lustre-like concurrent synchronous data-flow programs

Published: 20 May 2017 Publication History

Abstract

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.

References

[1]
P. Caspi, D. Pilaud, N. Halbwachs, and J. A. Plaice, "Lustre: A declarative language for real-time programming," in Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, ser. POPL '87, 1987, pp. 178--188.
[2]
S. Blazy and X. Leroy, "Mechanized semantics for the clight subset of the C language," J. Autom. Reasoning, vol. 43, no. 3, pp. 263--288, 2009.
[3]
X. Leroy, "Formal verification of a realistic compiler," Commun. ACM, vol. 52, no. 7, pp. 107--115, 2009.
[4]
T. C. D. Team, The Coq Proof Assistant Reference Manual Version V8.4, 2014. {Online}. Available: http://coq.inria.fr/
[5]
Y. Bertot and P. Castéran, Interactive Theorem Proving and Program Development - Coq'Art: The Calculus of Inductive Constructions, ser. Texts in Theoretical Computer Science. An EATCS Series. Springer, 2004.
[6]
"Coq code and extracted ocaml code for the sequentializer." {Online}. Available: http://soft.cs.tsinghua.edu.cn/~wang/projects/L2C/sequalization.rar
[7]
L. team, The Lustre V6 reference manual (Draft). {Online}. Available: http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/lustre-v6/doc/lv6-ref-man.pdf
[8]
"A preparing open source version of l2c project - certified compiler from lustre to clight." {Online}. Available: http://soft.cs.tsinghua.edu.cn:8000/

Cited By

View all
  • (2021)Verified Lustre Normalization with Node SubsamplingACM Transactions on Embedded Computing Systems10.1145/347704120:5s(1-25)Online publication date: 31-Oct-2021
  • (2019)Mechanized semantics and verified compilation for a dataflow synchronous language with resetProceedings of the ACM on Programming Languages10.1145/33711124:POPL(1-29)Online publication date: 20-Dec-2019

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-C '17: Proceedings of the 39th International Conference on Software Engineering Companion
May 2017
558 pages
ISBN:9781538615898

Sponsors

Publisher

IEEE Press

Publication History

Published: 20 May 2017

Check for updates

Author Tags

  1. concurrency
  2. determinism
  3. semantics
  4. sequentialization
  5. synchronous data-flow languages
  6. verification
  7. verified compiler

Qualifiers

  • Research-article

Conference

ICSE '17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Verified Lustre Normalization with Node SubsamplingACM Transactions on Embedded Computing Systems10.1145/347704120:5s(1-25)Online publication date: 31-Oct-2021
  • (2019)Mechanized semantics and verified compilation for a dataflow synchronous language with resetProceedings of the ACM on Programming Languages10.1145/33711124:POPL(1-29)Online publication date: 20-Dec-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media