This paper presents our feedback from the study on the use of Objective Caml for safety-critical software development tools
implementation. As a result, Objective Caml is now used for the new Scade
TM^{\mathtt{TM}}
certified embedded-code generator. The requirements for tools implementation are less strict than those for the embedded
code itself. However, they are still quite demanding and linked to imperative languages properties, which are usually used
for this kind of development. The use of Objective Caml is outstanding: firstly for its high level features (functional language
of higher order, parametric polymorphism, pattern matching), secondly for its low level mechanisms needed by the runtime system
(GC, exceptions). In order to develop the tools to check the safety-critical software development rules, it is necessary to
reinterpret them for this language, and then to adapt Objective Caml so that it satisfies them. Thus, we propose a language
restriction and a simplified runtime library in order that we can define and measure the coverage of a program written in
Objective Caml according to the MC/DC criteria. Then we can look forward to seeing this kind of languages spread out the industrial
environment, while raising the abstraction level in the conception and implementation of tools for certified programs production.
Keywords Code coverage - Tests measurement - Functional programming - Objective Caml - Civil avionics