
I think this is a little inaccurate, based on Feynman's account of the
software-development process *before* the standdown.  Fred is basically
correct:  no sophisticated tools, just a lot of effort and painstaking
care.  But they got this one right *before* Challenger; Feynman cited
the software people as exemplary compared to the engine people.  (He
also noted that the software people were starting to feel management
pressure to cut corners, but hadn't had to give in to it much yet.)

Among other things, the software people worked very hard to get things
right for the major pre-flight simulations, and considered a failure
during those simulations to be nearly as bad as an in-flight failure.
As a result, the number of major-simulation failures could be counted
on one hand, and the number of in-flight failures was zero.

As Fred mentioned elsewhere, this applies only to the flight software.
Software that runs experiments is typically mostly put together by the
experimenters, and gets nowhere near the same level of Tender Loving Care.
(None of the experimenters could afford it.)