In my novel Fools' Experiments (2008) a main character obsesses on the need for a better way to develop software: He says:
"... Modern society has deployed most of the easy applications of computers. We've done all the basic automation. What is left is mostly too complex for mere real-world mortals. We're starting to see the tragic results: one day, an industrial robot accidentally crushes a worker; the next day, computerized hospital equipment electrocutes a patient. We can't write new programs as fast as we need them. We can’t prove the correctness of the programs we do manage to produce.Last Christmas, bad programming really did fail a planeful of people when it allowed Abdulmutallab aboard that airplane.
"Let me pose the issue another way. We rely increasingly on the data plane of existence, as much as on the biological and physical planes. Our approach to exploiting the information ecology, the data plane, is classically human: We create a program to do our bidding. Homo sapiens is, after all, the premier tool-using animal -- and the only tool-using animal to move beyond sticks and stones.
"Too bad that building tools is a flawed approach. In evolutionary terms, it's been a simple experiment, and after a short trial, it is already failing us."
Is anyone at Homeland Security looking at software development beyond the old bad ways? For all our sakes, I hope so.