Lab Session-II CS121 Summer

Download Report

Transcript Lab Session-II CS121 Summer

Ethics in Computing
 Use of computers has spread to all walks of
life
 The need for computer users to act in a
sociably responsible way is becoming more
important
 We will examine ethical and moral issues in
using computers
1
Ethics in Computing
Adapted for academic use from “Ethics in Computing” by Kevin Bowyer, IEEE 1996
2
Ethics in Computing
Adapted for academic use from “Ethics in Computing” by Kevin Bowyer, IEEE 1996
3
Right and Wrong
 Human beings are able to differentiate
between right and wrong (Throughout the
world and among different regions and
races)
 We need to apply this capability in an
effective way in computing (spreading
viruses, promoting use of copied
commercial software, intrusion into
accounts of others etc. are morally wrong
activities)
4
A Case to Consider
 We cite some cases from the published
literature to demonstrate the importance of
ethical considerations in one aspect of
computing, software development
 Suppose that a hospital hires your services
as a programmer. You are asked to develop
software to control the positioning of an Xray machine that can slide up and down
5
vertically over the patient table
X-Ray Made Easy
6
A Case to Consider
 The X-ray machine has minimum position
of zero where it touches the table and
maximum position of 5 where it is 5 ft
above the table
 The operator enters the desired position of
machine. The software compares it to
current position and issues commands to
move the machine
 Develop the algorithm for this software
7
Exercise
 The software for human related and safety
critical systems is very important
 Consider the software to control an elevator
 What algorithm would be most suitable for
deciding the next floor?
 Suppose passengers press floors numbers
18, 2, 19, 5 in this order when the elevator
is on floor 1
8
 Is it FIFO, SJF, or something else?
ACM Code of Ethics
 ACM has issued its own code of ethics
 This code contains
– Eight moral imperatives
– Eight professional responsibilities
– Six leadership imperatives
– Two compliance elements
 Let us look at salient features of this code
9
ACM Code of Ethics
 The general moral imperatives include
principles of honesty, trustworthiness,
respect for privacy as well as contribution to
society
 Professional responsibilities call for
acquiring and maintaining professional
competence and honoring all agreements
and contracts
10
ACM Code of Ethics
 Leadership imperatives require supporting
authorized use of computing resources and
managing personnel and resources to design
and build useful information systems
 Compliance elements include the upholding
and promotion of the principles of the code
and avoiding violations
11
Software for a price or free?
 We look at three opinions on this topic:
– Software should be free
– Software prices should be reduced drastically
– Software should be treated just like any other
commercial product
 Software is developed by teams and
individuals who spent considerable time and
effort on it
12
Software Types
 Operating systems (e.g. Windows, Unix,
Linux, MacOS, OS/2 etc.)
 General application software (e.g. MSWord, Adobe Photoshop, PDF Converter
etc.)
 Customized application software (e.g.
NiMo corporate billing system, United
Airline flight management system, ATC
computer systems)
13
Recommendations
 Following are my recommendations for the
general application software and operating
systems
 Operating systems are usually shipped with
new computers. Later, the users should be
given free upgrades
 General application software should sell for
under $10 as the massive production of
14
CD’s will bring in the revenue
Software Copyright Policies
 If we have two computers at home, it is forbidden
to install the software on both. Is it practical?
(consider the laptop and desktop pair!!)
 I think the copyright rules need revision
15
Free Software
 Let us also encourage the free software
camp
 Free software does not mean pirated
software.
 Software designers make available the
products as freeware.
 These products are difficult to use but more
powerful than the commercial products
16
Free Software
 Freeware is different from Shareware.
Shareware works on the principle of “try
before you buy”
 Free Software Foundation started in 1984
with the name GNU (GNU is NOT UNIX)
 The Free Software Foundation (FSF), a tax-exempt charity
for free software development, raises funds by selling
GNU CD-ROMs, T-shirts, manuals, and deluxe
distributions, (all of which users are free to copy and
change), as well as from donations.
17
Free Software
 FSF has some radical views to which one
may or may not agree
 For example, they stress that software
should not have owners. They also claim
that the copyright laws hurt the freedom of
the society and that the owners prevent the
spread of information.
 Review the material online at
http://www.fsf.org/philosophy/why-free.html
18
Options to Avoid Software Piracy
 What is your opinion and why?:
A) Software should be free
B) Software prices should be reduced drastically
C) Software should be treated just like any other
commercial product
 Should the software copyright laws be
amended to allow the customer to install it
on multiple machines?
19
Options to Avoid Software Piracy
 Would you prefer a freeware product or
commercial product. Justify your answer
 What are the consequences for the vendors
and customers if the general application
software prices are reduced to under $10 per
package
 Comment on the following FSF statement
 “Software should not have owners”
20
Unauthorized Access
 We look into several suspicious activities
similar to each other
 “Hacking” means accessing a computer
system in a way different from normal. The
motive can be to test the system for its
security, to learn its various features or to
damage the system
 The term “Hacking” is now-a-days being
21
used in a negative sense
Unauthorized Access
 “Intrusion” or “unauthorized access” occurs
when the hacker uses an account that was
not assigned to him/her by the system
administrator AND/OR the usage is
inconsistent with the established policies
 Unauthorized access can take a number of
forms some of which are given in “Secrets
of a Superhacker”
22
Secrets of a Superhacker
 Creation of virus programs
 Creation of worm programs
 Creation of Trojan horse programs
 Creation of logic bomb programs
 Monitoring the network for password
sniffing
All above activities are unethical and most are
declared crimes
23
Safety Critical Applications
 We will discuss the responsibilities of
software developers in safety critical
applications
 In general, the systems having a real-time
component or components impacting
human safety are considered safety critical
systems
24
Safety Critical Systems
 The examples of such systems are aircraft
and air traffic control, nuclear reactor
control and medical instrumentation
 For example, air traffic control must issue a
warning if two aircrafts come dangerously
close to each other
 A software keeps processing “time to
collision” in the background
25
26
Smart Bombs should not fall
away from the military targets
27
Traffic Signals should not turn green
for two roads that cross each other
28
The disasters
 Hartford Civic center roof collapsed under a
load of snow on Jan 18th, 1978
 The roof design relied heavily on computer
modeling
 Therac-25, a radiation therapy system,
killed and injured several patients between
1985 and 1987
29
The disasters
 The overdoses were traced to errors in the
software and the software/hardware
interlock
 The software for Therac-25 was developed
by a single person, using PDP-11 assembly
language
 The software evolved over several years
but no documentation was prepared
30
The disasters
 More recently, an error in error checking led
$125 million Mars probe to disaster
 The spacecraft’s builder, Lockheed Martin
Astronautics, submitted acceleration data in
English units of pounds of force instead of
the metric unit called newtons. At JPL,
the numbers were entered into a computer
that assumed metric measurements.
 http://abcnews.go.com/sections/science/DailyNews/marscli
31
mate990930.html
The Code
 “Accept responsibility in making
engineering decisions consistent with the
safety, health and welfare of the public”
– IEEE Code of Ethics, item 1
 “Strive to achieve the highest quality in
both the process and products of
professional work”
– ACM Code of Ethics, professional
responsibility 1
32
Suggestions
 Most failures have multiple causes.
Software should not be analyzed alone for
finding errors. The impact of certain
hardware failures on software performance
can be devastating
 Modern software engineering techniques
should be used by designers of safety
critical systems
 Over-reliance on computer models can lead to disasters
33
Case Study Guidelines
 We focus on a case study of software bugs
disrupting human lives and safety
 This study is related to the software bug that
caused the phone system outage in 1991
 The reading material is given with specific
questions addressed to groups of students
for finding the answers
34
Questions
 Describe the incident in your own words.
What went wrong and what was the impact
on the human lives?
 State the root cause of the problem
 Why did this problem shut down the phone
system?
 What was the reason given by the DSC
Communications Corporation for not
35
performing normal testing
Questions
 Was it DSC’s fault? Justify your answer
 Do you think the society will suffer more
problems due to computerization?
 How can such problems be avoided?
 Write a closing commentary on this incident
and lessons to learn from it
36