Hacker News new | ask | show | jobs
by subinsebastien 1511 days ago
(1) Automotive (2) Medical Devices (3) Aerospace

In my mind, all three are done with more or less similar rigour conforming to strict standards. Yet, exceptions are seen in all of them.

5 comments

I remember when this was happening and I was surprised to learn that not only were there no good standards in automotive, reputable manufacturers like toyota didn’t even follow their own internal standards when developing software for critical bits.

Or to rephrase: it would appear they made no credible effort given the types of defects that occurred.

> strict standards

According to the PDF, they are not actually required to adhere to any software standards, and they did not always follow their own coding rules. An internal email admitted that "technology such as failsafe is not part of the Toyota’s engineering division’s DNA". They didn't even have bug trackers, config management OR COMMENTS in the 250k+ lines of code that were looked at. The software was full of bugs and terrible coding practices, plus the CPU was routinely pushed way too close to 100%. The ETCS code in question also had no unit tests, but it would be impossible to have them anyway due to their use of recursion in the code, which is also not supposed to be used in safety-critical systems.

In my mind, the software for at least the first two is typically written by people who don't primarily have an IT background, and at least in the past it was very clear that no skilled IT security engineers with any even reasonably recent knowledge were involved.
Not everyone can write embedded systems software. And I strongly disagree with medical devices. Peoples lives depend on them working.
I think the problem is that many software developers can't do embedded, but many electrical engineers can't do software.

Do you disagree that the software for medical devices is written badly, or are you just saying that it should be written well? I don't think the latter is in dispute. For the former, https://www.theguardian.com/technology/2017/aug/31/hacking-r...

The truth is that embedded, safety critical software requires a set of skills that is not normally taught in computer science or in electrical engineering degrees unless the students intentionally specialize in that direction.
The problem is the first is regularly not maintained anywhere near the levels required, especially as the car gets older.
One thing that surprised me, was that in the case of cars there is no third party doing the certification.