What You See Is What You Don't Get!
While experimenting with a new hand-held computer, a college engineering student discovers an error in a simple computing function. This case study concerns both nature of the error and its ethical implications.
You are a college engineering student experimenting with a new PDA (hand-held computer) you have just purchased from a reputable manufacturer, ARC.(1) The machine has been bundled with a variation of a popular spreadsheet (SS) product custom-built to run in a small amount of ROM (firmware) provided in the unit. While experimenting with this SS, you find that a simple calculation such as $3 + 1 cent is displayed as 3.00 on the LCD panel.
Numerical and/or Design Problem(s)
- Is this reasonable? How would you verify this claim? Is it likely this is the only calculation which displays an incorrect result?
- What possible explanation(s) could there be for this? Propose an experiment to test/verify your suspicions as to the source/cause of this problem.
- Later you conclude the display is indeed incorrect, but the internal representation of $3.01 is as exact as possible using binary floating-point representations in any format. Nevertheless, the displayed result on the LCD screen is indeed 3.00.
- Does this resolve the problem? Does this eliminate (or amplify) any problems of floating-point representation of dollar and cent results?
- You soon discover all calculations of the form X + .01 for any integer X will produce a representation on the display of X.00.
- What does this tell you as a young (or old) engineer/numerical analyst?
- Finally, you call the manufacturer. You are unsure whether this is a hardware bug, a software bug, or an error in your interpretation.
- What possible responses would you speculate they might give to your inquiry (and possible demand for a replacement PDA)? Discuss as a class, putting suggestions on the board or list on your own. Come up with at least five suggestions.
Questions on Ethics and Professionalism
Following are several possible vendor responses, at least one of which has occurred in a documented recent case."We don't believe you as we have never heard about this problem."
- "We didn't know about this problem."
- "We know about it, but we don't plan to do anything about it as this model/release will soon be discontinued."
- "We know about it, but it is really an operating system/software vendor/spreadsheet design problem."
- "We know about it and are working on resolving it."
- "We know about it, and it will be fixed/resolved in the next version/release of the product."
- "We will/will not replace the product at your request."
- Discuss the ethics of each of these responses from the view of the student, hardware vendor, and/or software supplier (assuming the SS is purchased from a VAR (value-added reseller).
- Suppose you are the help-desk person working at the receiving end of this call from the college student. How would you respond to the inquiry and what is your corporate/personal responsibility in this matter? What corporate responsibility is there which you must/should represent when discussing this problem with the student? With your boss?
- Suppose you are the design engineer for the ARC company. How would you respond to this situation? Would you respond differently if you were an employee of a software vendor and this occurred in a new product such as WIN 95?
- Create a scenario where this problem could result in a serious matter causing personal or corporate injury or significant expense. Whose liability would it be if such a tragic event occurs, and whose ethical responsibility would it be?
- Is this a problem which might occur with decreasing or increasing regularity? (MTBO `mean time between occurrences).
Solution to Numerical Problem(s)
Although fictionalized, this problem does occur. The most likely explanation is the display is not reflecting accurately (in decimal) the internal binary representation. Such errors can always occur when adding cents or dimes, since neither can be represented exactly as a binary number to any number of bits! However, displays should always be consistent to the nearest displayed digit, and a remark such as F above is never adequate (from a liability standpoint alone and even less so from a moral or ethical perspective. Students should be able to propose several more satisfactory (and professional) responses than any of those given above. Examples: posting on the Internet, creating a special customer BB, announcements or postcards to customers, etc.
Note that a similar type of situation can occur in any of hardware, firmware, or software product, be it application or system software.
These problems were originally developed as part of an NSF-funded project to create numerical problems that raise ethical issues for use in engineering and other course assignments. The problems presented here have been edited slightly for clarity.