Legality vs. Ethicality in Software Testing (revised Monday, April 17, assignment added)

Background: Two among Several Relevant Theories of Ethics

1. The Categorical Imperative of Immanuel Kant (1724 - 1804): "Act on a maxim which you can will to be a universal law." This is a Respect for Persons (RP) morality, and a deontological, or binding duty, theory. In Kant's philosophy the Categorical Imperative means that it is both a necessary and absolute moral law, and that it is the ultimate rational basis of all moral conduct. Further, it is binding on all rational beings and is not based on conditional premises, wishes, or consequences. A maxim may be thought of as a "formula" of sorts, a prescribed behavior. For example, if A is a subjective condition, and if B is an action, then a maxim could take the form: If A occurs, I will do B. Law here is not used in the legal sense, rather it means a principle of action independent of fear of punishment, etc. Thus one applies the test of asking oneself: "Could I will (desire) that the action I am about to take, B, should become the duty of all rational beings in response to A?" Note that this is a cogent and rational argument for world peace.


2. Utilitarianism, associated with Jeremy Bentham (1748 - 1832) and John Stuart Mill (1806 - 1873) may be stated as: "Act so as to produce the greatest happiness for the greatest number of people." Pleasure and pain are held to be the only intrinsic good and intrinsic evil, respectively. Utilitarianism is also called the Greatest Happiness Theory.

Another idea often relevant in engineering ethics is The Principle of Informed Consent. This means that the potential user(s) of our products and services must be made aware of hazards and other implications of using them.

The Scenario: Personal and Corporate Ethics vs. Contract Law?

You are employed by VaporWare, Inc. (VWI) in its Software Development Group. Among your responsibilities is the testing and quality sign-off of custom software before full release to the customer or client. Normally, this is the last in-house work prior to delivery of product.

VWI is a small, privately-held "start-up" which does custom hardware and software design. You own no part of VWI, but your employment contract specifies that in two years you will be considered for inclusion in the limited partnership. A majority vote of the owners is sufficient for you to be so rewarded.

You are the only person(s) involved in the testing of the software named APUDA. The product is to be delivered to One Big Monopoly, Inc. (OBM), who intend to use APUDA in an unstated process control system. The APUDA product was to be designed to a specification furnished by OBM, which has from the outset refused to discuss the application. Rumors have circulated that the product is being developed for the CIA. Still other rumors have it that market and trade considerations are the reasons for secrecy.

The profit to VWI, based on an on-time delivery of APUDA, is estimated to be $170 thousand. There is no bonus for early delivery. Other estimates indicate that for the current fiscal year the total VWI profits will be $1.2 million. A penalty clause in the contract stipulates that payment to VWI will be reduced by an amount such that VWI profit for the APUDA project will be reduced by about $1.5 thousand for each day of delay after the due day (D-Day). Thus, for example, if the product is 10 days late, VWI will suffer a loss of $30 thousand in the APUDA Project.

Your close friend Pat was the team leader in writing the code. Because of illness to one of the team members, and another leaving VWI for another job, you received APUDA 3 days after the scheduled time to begin full-functionality testing. If you work 18-hour days, and if only minor bugs need fixing, you are confident that you can complete the testing to the original schedule and thus ship "on time." You begin testing.

Testing proceeds well and is nearly complete at 3:00 a.m. on the last day. For on-time delivery APUDA source-code is to ship by overnight carrier at 4:00 p.m. this (last) day. You enter the next-to-last input sequence and to your horror observe that the output states are not as specified. You examine the input sequence just entered and are relieved to note that you made an error in two bits in entering the input-variable sequence. Entering the correct input sequence yields the correct output. You complete the test and all is well. Of the 1,024 allowed input sequences of 16-bit words, only the next-to-last word yielded erroneous outputs.

You check again the OBM specification and observe that it does not specify performance for input bit-errors, i.e., except that if an input sequence is not in the set of allowed inputs the outputs shall remain in its previous states.

You talk to Pat at 8:00 a.m. of D-Day and are assured by Pat that, "The code meets specifications."

Role-Playing: Study the scenario above, and consider the implications of the several theories of Ethics discussed at the beginning of this page.

On Friday, April 21, we will divide the class into two groups. Someone from one group plays the main character ("the engineer") in the scenario, and in one of the dialogues outlined below. The opposite character, e.g., "the boss," is played by someone from the other group. The groups can coach the actors, and the actors are free to use or reject the advice they get. At some point we may "reset" the scene, and start over. Part way through, we'll switch the group roles and pick a new dialogue scenario.

Assignment for Friday, April 21: Read the dialogs below, and write your one or two sentence response if you were the engineer. Hand this in at the end of class.

Some Dialog Scenarios

In the following dialogues assume that the entire scenario given above has been completed, but the engineer has not yet signed-off on the testing and the engineer has not discussed the test results with anyone. Assume that the dialogues below are independent of one another.

Dialogue A

The boss meets the engineer by chance at the work site. This occurs only a few minutes after the engineer has been assured by Pat "The code meets specifications." The boss asks, "How'd the APUDA ("ah-poo-da") testing go?"

Dialogue B

A lawyer from the legal department of VaporWare meets with the engineer, and introduces self as Wilhelmina (if female role-player) or William (male) J. (for Justine, or Justice) De Litigious, Esquire (used for either f, m). The lawyer takes the entree line, "Just call me Will, forget the Esquire. Your boss asked me to chat with you about the APUDA testing, just in case you have some concerns about it."

If the engineer indicates no concerns the lawyer should explain some of the possible legal ramifications. Some of these implications may be "invented" ad hoc, but they should be consistent with the scenario and plausible. Because the scenario indicates significant unknowns such as the application for APUDA, the lawyer may elect to pursue a "what if" track in the discussion.

The lawyer must take always the legal position, that is, "Would the corporation breach the contract?" The lawyer seeks to minimize, or at least reduce, financial risks to the client from ensuing legal actions.

Dialogue C

A VaporWare employee asks the engineer, "How did the APUDA testing go? I understand that there's big bucks at stake for VaporWare, and that there are some serious bugs in APUDA!" Assume that the engineer knows the questioner.

Dialogue D

An OBM (the customer) engineer is announced as a surprise visitor to see the engineer. The OBM engineer explains, "I'm here to save you the trouble of shipping the APUDA source-code to us. I'll just carry a copy of it back to OBM on a late flight today. Are you ready to release it and sign-off?"

 

Bibliography: A highly abbreviated listing of works on engineering ethics and societal responsibility of engineers and technologists.

The World Wide Web is rich in ethics materials with many links. The Online Ethics Center for Engineering and Science at Case Western Reserve University is a good place to begin.

* Harris, C., Pritchard, M., and Rabins, M., Engineering Ethics: Concepts and Cases, Wadsworth, Belmont, CA, 1995
* Johnson, D., Computer Ethics, Second Edition, Prentice Hall, Englewood Cliffs, NJ, 1994
* Johnson, D. (Ed.), Ethical Issues in Engineering, Prentice Hall, Englewood Cliffs, NJ, 1991
* Johnson, D., and Nissenbaum, H. (Eds.), Computers, Ethics & Social Values, Prentice Hall, Upper Saddle River, NJ, 1995
* Layton, E., The Revolt of the Engineers: Social Responsibility and the American Engineering Profession, The Johns Hopkins University Press, Baltimore, 1986
* Martin, M. and Schinzinger, R., Ethics in Engineering, Third Edition, McGraw-Hill, NY, 1996
* Susskind, C., Understanding Technology, San Francisco Press, San Francisco, 1985
* Unger, S., Controlling Technology: Ethics and the Responsible Engineer, Second Edition, Wiley, NY, 1994

(adapted from Dr. Joseph H. Wujek, P.E., http://onlineethics.org/edu/wujek/legality.html)