| No amount of MISRA or ISO26262 or tests or any kind will help if the people doing the software are direct out-of-the-university mechanical engineers or physicist, who had at most one or two semesters of some kind of programming course. The reality is that this is the current state of affairs. Most of people doing software for cars have not the foggiest idea what software is really about. All the software I read is just impossible to understand. And no standard help in many cases. Some examples I've seen in code:
- Use of kind of hungarian notation to the point that a loop variable was named something like "uibe32bb_i_lns"
- Comments in other human languages that were not english
- Use of recursion
- Have seen a call like name1::name2::name3::name4::name5::name6::name7::name8::name9::name10::name11::name12::name13::name14.
The names where some kind of hungarian notation, those calls where everywhere in the code.
- Lines more than 1000 characters wide, as a rule
- Files north of 100kB of code
I can go on and on and on.... Some examples of exchanges with people: 1) Software architect, of a ECU: one programer asks for the memory and CPU budget for a function. The reply was "I'm the architect, I've no idea what you are talking about" 2) System chief architect, for a very important project of a big auto-maker: one engineer says something about software errors. The architect interrupts, and explains that the software never makes an error. Because a computer only does what it is told to make. -- that is terrible enough, for example ignoring the possibility or a SEU, but he goes further, to say that any kind of test is not necessary, because, SW, as stated, makes no errors. Some general points:
- 99% of people in "SW" do not know what gdb is. They debug by "cout <<"
- I found nobody who knows what tail recursion is
- 90% are only able to program, to some extent, in one of C++ or Python, but no other language.
- Mentioning Ada, Lisp, Forth will trigger a waterfall of insults saying those are old and should never be used. I keep buying the most basic cars. I'm genuinely terrified to think in anything automatic in my car. |