Pretty cool read a lot more to crunch on link Source
A small group of programmers wants to change how we code—before catastrophe strikes.
There were six hours during the night of April 10, 2014, when the entire population of Washington State had no 911 service. People who called for help got a busy signal. One Seattle woman dialed 911 at least 37 times while a stranger was trying to break into her house. When he finally crawled into her living room through a window, she picked up a kitchen knife. The man fled.
The 911 outage, at the time the largest ever reported, was traced to software running on a server in Englewood, Colorado. Operated by a systems provider named Intrado, the server kept a running counter of how many calls it had routed to 911 dispatchers around the country. Intrado programmers had set a threshold for how high the counter could go. They picked a number in the millions.
Shortly before midnight on April 10, the counter exceeded that number, resulting in chaos. Because the counter was used to generate a unique identifier for each call, new calls were rejected. And because the programmers hadn’t anticipated the problem, they hadn’t created alarms to call attention to it. Nobody knew what was happening. Dispatch centers in Washington, California, Florida, the Carolinas, and Minnesota, serving 11 million Americans, struggled to make sense of reports that callers were getting busy signals. It took until morning to realize that Intrado’s software in Englewood was responsible, and that the fix was to change a single number.
What a wall of text of past mistakes. This problem is well known and taught. You want safe software you pay for it and do the necessary work and proofing along with hardware backups etc. There are whole research areas into software and making it do what's it supposed to do and nothing else.
Of course in case of AI driving cars... good luck ever validating that.
Having poor emergency systems etc. is fault of those that order such solution, careless about consequences.
As far as date issues go, blame Unix for it's date format counting which was never designed to last long. Solvable, if people care to do an update on devices they are responsible for.
We've had 20 years of Moore's Law two year doubling, unprecedented in any industry/sector. There's no possible way that software engineers can keep up, they're producing code of scale and complexity that's far beyond them in an attempt to utilise available processing power that they simply can't deal with, so it's full of bugs and holes.
The formal, provable methods always existed, anyone trying to use them and produce bug/hole free code was priced out of the market.