JerryS - those kinds of kinks have been worked out in modern programming environments, mostly. Nowadays, if you get a bug, there is a very remote possibility that it is not your, programmer's, fault but the OS' or driver's etc. fault, but that kind of thing is a zebra. You don't go looking for zebras
Our problems are often in dealing with extremely multithreaded environment. If everything was running in one thread, oh what a wonderful bugfree world it would be. But the program would not be nearly as fast/responsive.
Although the option chain bug does not seem to be related to threads. As Jerry explained, we cache chains, because getting them is expensive in terms of server access and speed. But the problem with cache of course is if you have bad data in cache. We do sanity checks of course but...
As an aside, I started programming in ALGOL-68 on Minsk-22s - .
See those white threads in the back? That's punched tape. Fun stuff.