Passer à la navigation principale Passer à la recherche Passer au contenu principal

A formally verified compiler for lustre

  • Timothy Bourke
  • , Lélio Brun
  • , Pierre Évariste Dagand
  • , Xavier Leroy
  • , Marc Pouzet
  • , Lionel Rieg
  • INRIA Institut National de Recherche en Informatique et en Automatique
  • PSL research University & IPSL
  • Sorbonne Université
  • LIP6, UPMC Sorbonne Universités - Paris 6
  • Collège de France
  • Yale University

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

The correct compilation of block diagram languages like Lustre, Scade, and a discrete subset of Simulink is important since they are used to program critical embedded control software. We describe the specification and verification in an Interactive Theorem Prover of a compilation chain that treats the key aspects of Lustre: sampling, nodes, and delays. Building on CompCert, we show that repeated execution of the generated assembly code faithfully implements the dataflow semantics of source programs. We resolve two key technical challenges. The first is the change from a synchronous dataflow semantics, where programs manipulate streams of values, to an imperative one, where computations manipulate memory sequentially. The second is the verified compilation of an imperative language with encapsulated state to C code where the state is realized by nested records. We also treat a standard control optimization that eliminates unnecessary conditional statements. Copyright is held by the owner/author(s).

langue originaleAnglais
titrePLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation
rédacteurs en chefAlbert Cohen, Martin Vechev
EditeurAssociation for Computing Machinery
Pages586-601
Nombre de pages16
ISBN (Electronique)9781450349888
Les DOIs
étatPublié - 14 juin 2017
Evénement38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017 - Barcelona, Espagne
Durée: 18 juin 201723 juin 2017

Série de publications

NomProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
VolumePart F128414

Une conférence

Une conférence38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017
Pays/TerritoireEspagne
La villeBarcelona
période18/06/1723/06/17

Empreinte digitale

Examiner les sujets de recherche de « A formally verified compiler for lustre ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation