Esterel: a formal method applied to avionic software development
Science of Computer Programming
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Information and Computation
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Type-based initialization analysis of a synchronous dataflow language
International Journal on Software Tools for Technology Transfer (STTT) - Special section on tool integration applications and frameworks
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mixing signals and modes in synchronous data-flow systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Clock-directed modular code generation for synchronous data-flow languages
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Certified development tools implementation in objective Caml
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
The implicit calculus of constructions as a programming language with dependent types
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Hi-index | 0.01 |
In this position paper, we address issues of the development of correct-by-construction components for GeneAuto a qualifiable (according to DO178B-ISO26262 recommendations) automatic code generator. It transforms Simulink, Stateflow and Scicos models to MISRA C code for safety critical systems. This approach which combines classical development process and formal specification and verification using proof-assistants, led to preliminary fruitful exchanges with certification authorities. We have derived formal specifications from classical user and tools requirements, formally implemented and verified the correctness of some components of the code generator. The block sequencer case study has been successfully applied to real-size industrial use cases from various transportation domain partners and led to requirement errors detection and a correct-by-construction implementation with reduction of test effort.