Why was the testsuite written? Because it was in the list of requirements from the client, aerospace standards demand that every possible branch is covered by a test.
We choose to write bad software.
I think the authors comparison to the historical development of trains is appropriate. Investigating IT failures wasn't as important 50 years ago because IT infrastructure was not as critical. Investigating IT failures today is critical because the functioning of society depends upon it.
What I'm saying, is that I think where PHK says "nobody sat down and documented precisely what went wrong", I think he is just wrong.
The guy in the Computerphile video, Steven Murdoch wrote this article:
https://www.benthamsgaze.org/2021/07/15/what-went-wrong-with...,
which has further details of the bugs, e.g.
"There is a window of time between a user printing and cutting-off a report. If another user was to perform a transaction during that window, that transaction may not show on the report."
which is from the long and very detailed judgment: https://www.benthamsgaze.org/wp-content/uploads/2021/07/Bate...
The problem that needs investigating here is the miscarriage of justice, apparently the post office was aware of the bugs at the same time as prosecuting people for falling victim to the bugs, in order to save face about their IT decision.
What PHK is calling for is a couple of orders of magnitude greater in detail and depth.
Moreover he specifically denounces any practice of treating technical inquiries as judicial processes. The incentives differ, making that a short path to bad outcomes as people run for cover. Dispassionately recorded findings that inform the whole profession may be useful, and restorative justice has already occurred; punitive justice will be best served as a separate and ultimate proceeding.
The miscarriage of justice is the truly awful, shameful part of this incident and it all came about because of the 'less than honest' stance of the post office leadership. To be fair to them, they were probably advised to act in this manner by their lawyers.
The difference between an aircraft/train/boat/car/oil rig accident and a software incident is that we immediately know that an aircraft/train/boat/car/oil rig accident has happened. Professional investigators are usually on the scene long before the lawyers have had their first cup of coffee. With a software incident, lawyers have wrapped their fingers around everything long before we even know that something has happened. For the incident investigators to do their job properly, it would probably be best to keep all lawyers out of the picture until the investigation is complete. But the chances of that happening are slim.
I also agree with PHK about the expense issue. There are so many examples of huge expense to discover the cause of an aircraft accident. Just think of MH370 or AF447 (military submarines were used to try to find both wrecks). Also oil rigs. How about Deep Water Horizon? Huge amounts of money was spent to figure out exactly what happened. Similar sorts of money should be made available to discover the causes of software incidents. It's far too easy for companies to hide a software incident and then hide behind lawyers while blaming others.
Bugs should be reviewed and dealt with by a profession independent investigation board, not by lawyers.
Probably? Don't you think that's something that should be investigated and people held accountable for?
Nope, doesn't matter, only the stupid software bugs here need to be investigated. Got it.
I just don't think the bugs here are especially interesting compared to bugs in other software of similar complexity. In any other situation it goes like this:
customer: hey vendor, this software has bugs
vendor: whoops, sorry, here's a fix
or even this: customer: hey vendor, this software has bugs, and they're so bad we're suing you (which may have been appropriate in this case if the bugs caused financial loss)
not this: customer: hey vendor, this software has bugs, and we've sent our employees to prison because we don't want to admit the bugs exist.
vendor: wtf?
That's a cultural / judicial problem and I just don't believe the reaction should be to focus on preventing other companies creating similar bugs.