All true, but at the end of the day, complexity metrics and coverage tools didn't come even close to paying for itself, and so they gradually faded.
The issue is not human understanding per se, it's human effort.
In those cases, the development computers were far larger than the target systems.
Forgotten from earlier: "Just to be clear - are you using non-intrusive statistical code coverage tools (i.e., a background thread, timer, etc., that samples the program counter of running code? Or are you using a tool that does instrumentation when compiling? I'm trying to get an understanding of the kinds of "false hits" you are seeing."
The focus here is non-intrusive code evaluation tools.
We also use intrusive tools and instrumentation in the integration lab.
Nor is MS - the new code is written by humans.
Although MS is trying automatic translation into modern languages, I gather that it doesn't work all that well. In my world, there was a lot of talk of building automatic converters to translate from one computer language to another. It never worked because no machine could understand the inventive ways people on tiny machines used bespoke memory structures to improve performance.
War story: In the 1970s, I was involved in writing Fortran code to implement a simulator used for training. This required 32-bit words used as bit arrays, but the Fortran of the day had no bitwise operation, only one bit per word logic. Which was crippling, so I wrote an assembly-coded Fortran function that did the bitwise operation expressions needed for this and that.
Our application programmers were intimidated by being asked to write a little assembly, but I had set it up so they could easily do it, once the shock wore off. It all worked.
Thirty years later, I got a phone call from the blue from someone in a company that had won a contract to recode the simulator code in C wondering what to do with those assembly-coded functions. He was very relieved when I said that if the ISA library had been available, we would have used that, and to just read the assembly source to find the bitwise operations being performed, and write that directly in C.
The 280,000 hours of saved labor is why this will continue.
Yes.
Joe