I had to share this. Toyota has just been found guilty in a case where a car kept accelerating without a foot on the pedal and killed someone.
A software expert examined their code in detail and found all sorts of problems - spaghetti code, a “kitchen sink” function that tried to manage everything, and lots of other problems. The code has 11,000 global variables (the expert said there should be hardly any), some of which are 25-30 characters long, with no vowels, and some identical except for one letter. There were dozens of functions that rated as untestable, and some as unmaintainable.
What I found interesting is that when programming safety systems in a car, you need to keep a second copy of critical variables, in case a cosmic ray or bump in the road causes one of the software bits to flip. And lots more dangerous stuff you have to watch for. That would be very scary software to write.
So next time you are stuck with your code, don’t feel so bad - even the big companies don’t get it right. (And be careful driving that Toyota!)
Wow… That sets a new standard of crudiness above Microsoft’s Windows 8. gasp
I’ve always wondered what the worst products would be to beta test… I was thinking something along the lines of microwaves, jail cell doors, banking websites where you withdrawal, etc.
Or maybe the spaceship that is taking ten years to reach Pluto. “hey, Bob, do you remember this function you wrote in 2004? A little bug means it’s going to miss, and hundreds of scientists have wasted 20 years of their career!”
They sent a spaceship to collect comet dust, which is pretty amazing navigation, but when it landed back on earth, the parachutes didn’t open and it crashed. Why? The ground sensors were installed upside down, facing upwards… True.
Very interesting. Thanks for having shared it! It will take quite some time to read it though.
A funny thing: this document, supposedly giving lessons on reliability on information processing systems, says on every page: ‘THIS TRANSCRIPT HAS NOT BEEN PROOFREAD’. Quite ironic…
Wow that’s terrible, professional coding surely doesn’t require variable names 35 characters long! I myself have never gone above around 12 but even that gets messy. Some very secure conditions when looking at toshiba source code, don’t know why… Sounds like it should be scrapped!
@Luateeprofessional coding surely doesn't require variable names 35 characters long
Really? So do you think the the company that uses this variable name is professional or not? GA230F93-92FA-4EBF-86B3-4ABFD48D3ABC.
Guess what it is?
(nb: this is just for the pleasure of arguing, i basically agree with your general feeling ;-). ).