validationgccsafety-critical

How to certify a compiler for functional safety?


We are ISO-13485 and do development for medical devices. We currently use the IAR certified compiler, but we are thinking to switch to gcc because it is cross platform and the build can be automated with plain Makefile which is not possible with IAR.

I am trying to understand what should we do to get arm-none-eabi-gcc certified for medical development.

Neither the ISO-13485, ISO-26262, ISO-62304 or ISO-61508 give me a hint of what I should do to validate my compiler.

Am I stuck to IAR or do I have alternatives?

I guess this question can be extended to space/automotive too.


Solution

  • I work in the toolchain team at a company with ISO-26262 certification, and we recently had our development suite validated for functional safety.

    Part of the process was running a set of validation test suites in which thousands of tests programs were compiled and the results compared against expected results. Another part was ISO standard-conformance tests. None of these tests, of course, are exhaustive, but did identify some issues. Yet a third part consisted of running the DejaGNU test suite that comes with GCC itself.

    The next trick for safety validation is to make sure all known issues are documented. Functional safety does not mean your toolchain is perfect, it only means the known imperfections are clearly documented and that you have a process in place to identify and document imperfections. What you need to do for full validation is to fix or document and justify each and every deviation from expected behaviour so there are no known, unjustified deviations.

    Validation is an entire industry on its own. It is expensive and time-consuming.