3 ms·
I never worked in a safety critical environment, so my ideas are probably flawed. My feeling says that limiting loops and not using some language constructs ca
by erikb 11y ago
I never worked in a safety critical environment, so my ideas are probably flawed.
My feeling says that limiting loops and not using some language constructs can enhance quality that much. Checking and rechecking requirements, having different levels of testing, and most importantly have static and unit test checks on the source code abstraction level has a huge impact, though. Example: Even if you use only simple constructs like if and for you still run into problems with complexity because some problems are complex. Now the complexity simply is spread, which in some regards might make it easier to handle but in other cases makes it much harder to see the dependencies.
- TickleSteve 11y agoYou are correct in those points, and implementation rules like these do not gain you a safety accreditation. There is a lot of upfront analysis of the system as a whole and the algorithms before a line of code is written. Complexity and dynamism is minimised and all code paths are checked in the final code. This is one of the few places where 100% code-coverage is needed. you need to account for every path in the code, all the way down to bare-metal. Also, a common thing to so is to have h/w fail-safe systems (iff possible), due to the difficulty in getting s/w approved.