This story is about the system working well. Detected immediately via well-trained and alert humans, someone had and used their individual authority to ground the entire airline for safety reasons, mitigated with a workaround 20 minutes later, permanently fixed within five hours, and new tests implemented to account for the root cause.
Sure. And there are bugs in their code, too.
https://www.theverge.com/2019/9/3/20847243/spacex-starlink-s...
"SpaceX acknowledges that it failed to communicate due to the bug and missed the emails about a higher probability of collision. Finally, on Monday morning in Europe, ESA made the call and used the thrusters on Aeolus to raise the satellite’s orbit by about 984 feet (300 meters) without waiting for SpaceX to take corrective action."
The first failure was the bug itself - without knowing more about the details it's hard to say more. But one should ask what kind of practices exist at DynamicSource - e.g., compile time thread safety checks, code review practices, testing requirements, rollout procedures - that would prevent bugs like this from getting out into production.
The second failure was that the software failed to validate its own output and fail noisily or generate a warning of some kind. It's safety-critical software - bugs may be excusable, but not giving at least a warning for an unusual output is poor engineering.
The third failure was that the flight staff failed to notice the error until tail strikes happened. Human errors do occur, but we need better systems to assist human operators. E.g., perhaps the flight software itself could act as another line of defense to prompt the pilot when values appear out of normal range.
Yes, in this case the planes weren't anywhere close to crashing. But if the assumption is that bugs are unavoidable, then there needs to be better systems in place to catch those bugs before they cause a major accident. Because the next time we might not get so lucky with detecting the issue and having someone with integrity calling the shots.
Also, no need to start off your comment with an ad hominem - a simple "software errors are unavoidable" would've said just as much.
It's literally a safety critical system, not move-fast-and-break-things front end web dev code.
Remember the extraordinarily in depth review of their software while their entire fleet was grounded, where each and every individual bug found was reported in mainstream media?
Where they weren't allowed back in the sky until we were all assured everything was fixed?
The bug they're reporting here sounds like they didn't do reasonable testing. And that's the kind of thing that shouldn't be happening with Boeing 737* aircraft especially, after their recent problems. :/
So was the Space Shuttle, whose software team is widely regarded as the absolute gold standard in this regard.
https://www.fastcompany.com/28121/they-write-right-stuff
Still, bugs:
"This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats : the last three versions of the program — each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors."
> Where they weren't allowed back in the sky until we were all assured everything was fixed?
Because no aircraft would fly again with that standard.
> And that's the kind of thing that shouldn't be happening with Boeing 737* aircraft especially, after their recent problems.
The software in question isn't made by Boeing, and it's not just for Boeing aircraft. It's a third-party thing, picked by individual airlines. https://www.dynamicsource.se/ lists support for 13 aircraft across 7 manufacturers.