1. The following article appeared in the Washington Post (Associated Press 1996):
PILOT’S COMPUTER ERROR CITED IN PLANE CRASH.
AMERICAN AIRLINES SAYS ONE-LETTER CODE WAS REASON
JET HIT MOUNTAIN IN COLOMBIA.
Dallas,, Aug. 23-The captain of an American Airlines jet that crashed in Colombia last December entered an incorrect one-letter compute r command that sent the plane into a mountain, the airline said today.
The crash killed all but four of the 163 people aboard. American’s investigators concluded that the captain of the Boeing 757 apparently thought he had entered the coordinates for the intended destination, Cali.
But on most South American aeronautical charts, the one-letter code for Cali is the same as the one for Bogota, 132 miles in the opposite direction.
The coordinates for Bogota directed the plane toward the mountain, according to a let-ter by Cecil Ewell, American’s chief pilot and vice president for flight The codes for Bogota and Cali are different in most computer databases, Ewell said.
American spokesman John Hotard confirmed that Ewell’s letter, first reported in the Dallas Morning News, is being delivered this week to all of the airline’s pilots to warn them of the coding problem.
American’s discovery also prompted the Federal Aviation Administration to issue a bul-letin to all airlines, waroiing them of inconsistencies between some computer databases and aeronautical charts, the newspaper said.
The computer error is not the final word on what caused the crash. The Colombian gov-ernment is investigating and is expected to release its findings by October.
Pat Cariseo, spokesman for the National Transportation Safety Board, said Colombian investigators also are examining factors such as flight crew training and air traffic control.
The computer mistake was found by investigators for American when they compa17ed data from the jet’s navigation computer with information from the wreckage, Ewell said.
The data showed the mistake went undetected for 66 seconds while the crew scrambled to follow an air traffic controller’s orders to take a more direct approach to the Cali airport.
Three minutes later, while the plane still was descending and the crew trying to figure out why the plane had tumed, it crashed.
Ewell said the crash presented two important lessons for pilots.
“First of all,no matter how many times you go to South America or any other place-the Rocky Mountains-you can never, never, never assume anything,” he told the newspaper. Second, he said, pilots must understand they can’t let automation take over responsibility for flying the airplane.
Is this article evidence that we have a software crisis? How is aviation better off because of software engineering? What issues should be addressed during software development so that problems like this will be prevented in the future?
2. Give an example of problem analysis where the problem components are relatively simple, but the difficulty in solving the problem lies in the interconnections among sub-problem components.
3. Explain the difference between errors, faults, and failures. Give an example of an error that leads to a fault in the requirements; the design; the code. Give an example of a fault in the requirements that leads to a failure; a fault in the design that leads to a failure; a fault in the test data that leads to a failure.
4. Why can a count of faults be a misleading measure of product quality?
5. Many developers equate technical quality with overall product quality. Give an example of a product with high technical quality that is not considered high quality by the customer. Are there ethical issues involved in narrowing the view of quality to consider only technical quality? Use the Therac-25 example to illustrate your point.
6. Many organizations buy commercial software, thinking it is cheaper than developing and maintaining software in-house. Describe the pros and cons of using COTS software. For example, what happens if the COTS products are no longer supported by their vend.ors? What must the customer, user, and developer anticipate when designing a product that
uses COTS software in a large system?