Can We Trust Our Software?
The complex computerized financial networks that transfer trillions of dollars from coast to coast daily are consistently vulnerable to error. Sometimes just money is at stake: in 1985 a single software malfunction forced the Bank of New York to borrow $24 billion to cover its accounts temporarily; the cost was $5 million in extra interest. One programming error in Washington allowed ATM cardholders to make unlimited cash withdrawals regardless of their account balance. Other times, it's lives. At least one programming mistake has been fatal; in 1986 a Canadian cancer-therapy machine killed two patients when a software error administered damaging doses of radiation.
A large software program can be tested only by actually trying every conceivable combination of challenges to see whether it fails. But when programs get very large, says John Shen, a computer researcher at Carnegie-Mellon University, "it could take tens, if not hundreds, of years to go through the combinations." The national air-traffic control system, which ensures the safety of all commercial aircraft, will be massively retooled this decade, and the Federal Aviation Administration is still determining just how to certify that the system works under all conditions. It may not be able to: "The sky," says FAA resource specialist Mike DeWalt, "is home to an infinite number of aircraft velocities and positions."
What's flying around up there is already loaded with software. In the latest 747, for example, everything from the navigation system to the toilet is controlled by computers. The next generation offly-by-wire aircraft, in which computers replace traditional mechanical control systems, will be even more software dependent. Humans will still handle the controls, but their commands will be executed by complex webs of software.
The demands on some programs are so complex that sometimes the writers simply can't get them right. A Government Accounting Office report in 1988 cited a satellite-tracking software program that is $250 million over budget and seven years behind schedule. At last count, the attempt to upgrade the Defense Department record-keeping computers was already $1 billion over budget--and congressional analysts have suggested that the system is so faulty that it is probably impossible to determine the actual cost overrun. The software for a radar-jamming system was also $1 billion over budget and four years behind schedule. All of these efforts pale beside the software that would be needed for the Strategic Defense Initiative, or Star Wars; critics charge that it could never work reliably.
Who writes these programs? Anyone who can sell one. Engineers who design bridges or high-rise buildings, whose collapse could cost lives, are licensed and regulated. But thus far, there are no similar requirements for programmers in the United States. The same programmer who creates a video game for an arcade can also write the software for a hospital cardiac monitor. The skills are not necessarily transferable. A Seattle computer instructor remembers one ex-student who was commissioned to write a program for the cockpit of a jet fighter, only he didn't know how to fly.
Programmers themselves are increasingly concerned about potential liability. A California-based group called Computer Professionals for Social Responsibility (CPSR) now has 3,000 members in 21 chapters. At a national meeting of computer experts last fall, a panel on social ethics and safety drew an audience of 1,000. But software writers--perhaps the ultimate American garage entrepreneurs--are likely to resist any official efforts to regulate their profession. "If there was a law that said you couldn't write software without a license," says Michael Odala, president of the Software Entrepreneurs Forum, "most of our members would go find other work." (Rogers, Michael and David L. Gonzalez, "Can We Trust Our Software?" Newsweek 29 Jan. 1990: 70, 71, 73)
The organization of paragraph 1 is:
In paragraph 5 of the passage, the writer makes a comparison between engineers and programmers. Which of the following best expresses the writer's reason for making the comparison?
Using the logic outlined by the writer in this passage, one would expect that corporations may begin to examine the credentials of computer programmers because
According to the passage, software writers are
In this passage, the phrase fly-by-wire aircraft is used to mean
The author's purpose in writing this passage is to
0 out of 0 correct.