On 28 March 1979, there was a partial core meltdown in a reactor at the Three Mile Island Nuclear Power Generating Station near Harrisburg, PA, USA. The accident was soon headline news, at least throughout the western world. An obscure computer programmer apparently hearing this news had a crisis of conscience and, in April 1979, phoned anonymously to the US Nuclear Regulatory Commission, telling them to examine particular program code used in the design of certain types of nuclear reactors. The code in question was a subroutine intended to calculate the total stresses on pipes carrying coolant water, but instead of adding the different stresses, the routine subtracted them. So the resulting coolant pipes were extra-thin instead of being extra-thick.
This story would not surprise anyone with any software development experience. Few other people understand, I think, just how dependent modern society is on the correct placing of mundane arithmetic operators or the appropriate invocation of variable references in obscure lines of old program code. No programmers, in my experience, took less than seriously, for example, the threat of the Millenium Bug, although lots of people who are not programmers still think it was a threat without substance, or even a scam.
Below I have re-typed the article where first I read about this, as I can find no reference elsewhere on the web.
Faulty software may close more nuclear plants
(from Australasian Computerworld, 18 May 1979, pages 1 and 15).
Washington, DC. – The Nuclear Regulatory Commission (NRC) in the US may soon order more shutdowns of nuclear plants if it finds the design of their piping relies on invalid computer algorithms.
The commission is completing a study [page-break] to determine whether earthquakes could rupture the computer-designed piping of active US nuclear plants as well as those under construction. In March, the commission ordered five plants in the eastern US to cease operation after an error was discovered in their design software.
The study was initiated following an anonymous phone call last month from an individual who reportedly told the NRC that many other plants were designed or are being designed with similarly flawed routines. As a result, the commission ordered all 70 licensed plants and the 92 granted construction permits to declare whether they rely on any of three algebraic summation methods.
The water to cool reactor cores in the five suspended plants ran through pipes with tolerances far below NRC standards because of an algebraic summation routine subtracted, rather than added, stress figures.
Nuclear energy experts consider reliable reactor piping a critical safety factor. A reactor core overheats if not enough water circulates around its radioactive rods to carry heat away. Pipe ruptures or pump failures would thus induce core overheating that, if unchecked by reserve cooling systems, might force the reactor to discharge dangerous radiation.
NRC inspectors may order more shutdowns if they find other plants in violation of piping tolerance requirements, a spokesman said. Their decisions will be based on responses to a general bulletin to holders of licences and construction permits.