VW LogoThe news today is that VW is in bigger trouble – their software evading of pollution testing appears to be not limited to their 6-cylinder diesels but also extends to the their 4-cylinder diesels. The company denies this but I suspect it’s true. Why?

First a little background. I have been involved with programming since my senior year in high school when I had access to an Underwood Programmable 5-function calculator. It could be programmed with 33 steps and the program recorded on a 2-3” wide, 8” long magnetic card. This was high tech in 1966! I once counted that I had written programs in over 22 different computer languages and dialects. In addition, as a program manager in the US Navy I had overseen software developments of millions of lines of code. I know what it’s like to be a program developer.

Which is why I suspect that the software used by 4-cylinger diesels and 6-cylinder diesels are related.

Software is expensive to develop commercially. Writing a simple program is not hard and millions have done it – “Hello, World!” in BASIC or other programs is usually the first program. And usually no bothers with developing the programs right – they just start writing code until they get what they want. But commercial programs, written by professionals are a different animal – there’s real money involved. Which means that the program code needs to operate efficiently, fast, and without error.
But when you pass approximately 100 lines of code, then things get difficult. The complexity is so vast that programmers developed strategies that simplify the process. One of the earliest was the development of a subroutine – a module of software that could be called by one line of code but used repeatedly. An example would be calculating someone’s age from their birth date. The same subroutine could be used to calculate the difference between two dates. The same code could be used multiple times without writing the code over and over again. Another strategy is to use comment statements that don’t tell the computer to do anything but they explain what the programmer intended for the line of code to do. It’s useful for other programmers to understand the program for troubleshooting or making modifications – but programmers hate to document their code – it’s not fun!

It was common when I was a program manager to estimate that it took $100 per line of code to develop a commercial program. In systems with thousands, and even millions, lines of code, there’s a lot of expense in developing a commercial program.

Which is why companies will try to reuse software they have developed for other projects on a new project. The software has already been tested and should be working properly (Right – that’s why there are some many software upgrades – but that’s another problem). And the existing software already has many of the features that are required by the new project, so why develop new code for them? You make only the modifications to fit the new hardware and Viola! You have the software you need.

In addition, even if you start an entirely new project with a clean sheet of paper, you’re likely using the programmers that developed the old software. And programmers are like everyone else – why re-invent the wheel? If you have already written a subroutine or module or an entire program that does what’s wanted, you’re not going to write new code. In fact, it’s likely VW has a library of computer programs, subroutines, modules and snippets of code that programmers are expected to use. We don’t expect a carpenter to buy a new hammer for each house they work on – why should we expect programmers to be any different?
So that’s why I expect VW’s denial to not hold water. It would be completely unnatural for the 4-cylinder and 6-cylinder diesels to have completely different software.

Next time, we’ll examine some techniques that could have avoided this crisis.

A physicist by trade, author by choice, a born teacher, a retired veteran, and an adamant problem solver, Frank has helped the White House, federal agencies, military offices, historical museums, manufacturers, and over 250 technology startups get stuff done, communicate effectively, and find practical solutions that work for them. In his spare time, he makes sawdust and watches Godzilla movies.