The obsession with C/C++ here is really weird. Like, take the MCO failure. That's a classic, textbook problem that can be structurally guaranteed not to happen with use of even a basic type system. It should be literally impossible to confuse values of different types/units/dimensions like this in something described as "safety-critical".<p>It seems like all the resources here are concerned with trying to whittle C/C++ into an appropriate choice of tool, rather than choosing a different tool. It seems like a 1980s-1990s mindset.
I don't have all my resources on hand right now, but off the top of my head this book should be added:<p><a href="https://mitpress.mit.edu/books/engineering-safer-world" rel="nofollow">https://mitpress.mit.edu/books/engineering-safer-world</a><p>This list is barely scratching the surface of safety-critical system engineering, but it's a start.
Other than the latest MISRA, I really enjoyed "Better Embedded System Software" by Phil Koopman.<p>Ideally you should read it before starting your project, since it deal with the product specification/gathering requirements phase, which is your starting point in safety critical systems.<p>[1] <a href="https://betterembsw.blogspot.com.br/2010/05/test-post.html" rel="nofollow">https://betterembsw.blogspot.com.br/2010/05/test-post.html</a>
Does anyone know how software quality is handled in complex supply chains, e.g. automotive? From my point of view software is a 2nd grade citizen in areas dominated by manufacturing and classical engineering.<p>I guess testing an over-the-update for a car that was build by ann OEM and thousands of suppliers must be quite a task.
hopefully in a future not so far away, most safety-critical code will be formally verified, like <a href="http://sel4.systems/" rel="nofollow">http://sel4.systems/</a> for example
In addition to MISRA, I've found the safety checklist in Lutz's "Targeting Safety-Related Errors During Software Requirements Analysis" at <a href="https://trs.jpl.nasa.gov/bitstream/handle/2014/35179/93-0749.pdf" rel="nofollow">https://trs.jpl.nasa.gov/bitstream/handle/2014/35179/93-0749...</a> to be very useful.
c++ is not considered safe for any RTOS system, in fact you won't find it used in Aviation embedded devices (referring to the big 3 )
Tools yes, you can higher level languages to your heart's content.