Publication | Closed Access
A formally verified compiler for Lustre
57
Citations
30
References
2017
Year
Unknown Venue
EngineeringCompiler TechnologyVerificationSoftware EngineeringSoftware AnalysisFormal VerificationAssembly CodeSystems EngineeringCompilersDynamic CompilationDiscrete SubsetBlock Diagram LanguagesCompiler SupportComputer EngineeringComputer ScienceOptimizing CompilerProgram AnalysisSoftware TestingFormal MethodsParallel ProgrammingSymbolic ExecutionSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1