velopers (not your students’ testing team) have carefully examined
the code behind the simulation and interface. Based on this work,
your students should now assume that everyone on their testing
team is convinced that the observed anomalies are not because of a
defect with the simulation or the interface. The testing team examines the raw data on which the simulation was based, and discovers
that exactly this anomaly is clearly visible in the raw test data, done
at several sites with different researchers. In other words, we will
now assume that the input data, including the observed anomalies,
accurately reflect the results of actual engine performance.
Have your students think about these questions:
1. As a member of the testing team, what are your options
now that you have discovered these anomalies?
2. Are there ethical obligations related to this discovery?
REPORT RESULTS TO MANAGEMENT
Assume that the testing team has made a strong report to their
manager, pointing out that the engines’ performances in the
testing lab are dramatically different from the performances on
the road. The manager reads the report, and calls a meeting
with the testing team. The manager thanks the team for their
work, announces that this engine behavior (emissions in the
lab having lower emissions readings than on-road testing) is a
feature, not a bug. The manager explains that there is software
in pre-production vehicles that allows certain emission features
to be activated or deactivated. The manager further explains
this software is needed to test other features of the vehicle that,
when the emissions features are activated, they prohibit accurate testing of the other features. The team is assured the software that activates or deactivates the emissions features will not
be on production models. The manager reminds the members
of the testing team that their report, and all the data they collected, is proprietary information. All members of the testing
team have signed a non-disclosure agreement that prohibits
them from discussing this kind of data outside the company.
At this point the instructor can use an ethical analysis methodology, guiding a discussion by introducing options for the
testing team such as; do nothing further about this discovery,
report to a higher level of management, and quit. The instructor
can invite the students to suggest other options. For each option generated, the students should explain the choice, and examine the impact of that choice on themselves, their colleagues,
the organization and society.
VEHICLES IN PRODUCTION
In phase 6, we jump ahead in time. The testing team members
have not done anything about their discovery, deciding that
their manager’s explanation was sufficient. At least some team
members were uncomfortable about this situation, but not so
uncomfortable that they took any action. Instruct students to
again take on the role of a member of the testing team: “Assume
you notice that the new vehicles are now on the market and are
being advertised as having excellent emission and performance.
1. Discuss the data that point to an anomaly between lab tests
and similar road tests.
2. What possible causes could have resulted in that anomaly?
INTRODUCE ETHICAL ANALYSIS METHODOLOGY
Before continuing with this case, students should have some
understanding of ethical theory and methods of making ethical
decisions. There are textbooks that focus exclusively on information systems ethics and on computer ethics—for example,
the books by Quinn [ 23] and by Johnson [ 15]. There are many
other computer science textbooks that include a chapter or several sidebars on ethics and methods for performing an ethical
analysis. You may be using such a textbook, and you can adapt
the techniques in that book to this exercise.
It is not the purpose of this article to give a detailed account
of teaching specific ethical analysis skills. Readers interested in
studying the pedagogy of teaching analysis skills for computer ethics cases can use the textbooks cited above; they can use scholarly
articles such as [ 2, 4, 7, 12, 22]; and they can use collections of materials such as those located at the University of Southern Connecticut (collected by Terry Bynum) [ 5] and at North Carolina State
University (collected by Edward Gehringer) [ 11]. Searches for ‘
information system ethics’ or ‘computer science ethics’ will yield a
variety of timely material concerning ethics that the instructor can
use to either develop a lecture or assign for student reading. Additionally, the importance of ethical actions to the profession can
be reinforced with the students by having them review the codes
of ethics from various associations related to information systems
and computer science—e.g., those for the Association for Computing Machinery [ 1], IEEE [ 10], the Software Engineering profession [ 25], the Project Management Institute [ 21] and the ICCP [ 9].
For the rest of this article, we assume that students are aware
of at least one method of analyzing ethical issues in computing.
Further, we assume that students have some understanding of
the importance of ethics for computing professionals, and for
leading professional organizations such as the ACM.
APPLY AN ETHICAL ANALYSIS METHODOLOGY
To move forward in this exercise, we will make some additional
assumptions about the case. Assume that the testing team (this is
the team that your students have been pretending to be) has done
extensive tests on the interface, and that competent software de-
Figure 4: A representative example of outputs for the four prescribed
tests shows that anomalies occur in the NOx column.