0% found this document useful (0 votes)
8 views19 pages

Chapter 7

The document discusses the ethical and social implications of software development, focusing on definitions, causes of software failures, risks, consumer protection, and improving software quality. It highlights the relationship between software producers and consumers, emphasizing the importance of standards, reliability, security, safety, and quality. Additionally, it outlines legal protections for consumers and producers, as well as examples of software risks and failures.

Uploaded by

saudtich156
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views19 pages

Chapter 7

The document discusses the ethical and social implications of software development, focusing on definitions, causes of software failures, risks, consumer protection, and improving software quality. It highlights the relationship between software producers and consumers, emphasizing the importance of standards, reliability, security, safety, and quality. Additionally, it outlines legal protections for consumers and producers, as well as examples of software risks and failures.

Uploaded by

saudtich156
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

SOFTWARE ISSUES: Computer Science Ethics

RISKS AND LIABILITIES CS1180


OUTLINE

Definitions
Causes of Software Failures
Risks
Consumer Protection
Improving Software Quality
Producer Protection

ETHICAL AND SOCIAL...J.M.KIZZA 2


DEFINITIONS
Software- computer programs made up of a logical sequence of commands to
perform a task.
The software producer/developer creates computer programs to meet either general
or specific needs of the consumer
A buyer gets the benefits of a computer program to solve a specific task/problem.
Whenever there is a software there are producers and consumers.
Therefore, there is a relationship between software producers and users made up of:
user expectations and developer limits

ETHICAL AND SOCIAL...J.M.KIZZA 3


DEFINITIONS – CONT’D
For a healthy relationship all the following must be agreed on:
1. Standards – universally accepted level of confidence
 Standards depend on:
 Development testing
 Verification and Validation

2. Reliability – software reliability does not depend on age and wear and tear like hardware
 Software reliability - is the probability that the software does not encounter an input sequence
resulting into failure.

ETHICAL AND SOCIAL...J.M.KIZZA 4


DEFINITIONS – CONT’D
3. security- software is secure if it does not contain trapdoors through which an intruder can access the
system.

4. Safety – the safety of a software product means the absence of a likelihood of an accident, a
hazard, or a risk
 A number of life critical systems depend on software, therefore, software safety is important.

5. Quality- a software product has quality if it maintains a high degree of excellence in standards,
security, safety, and dependability.

ETHICAL AND SOCIAL...J.M.KIZZA 5


CAUSES OF SOFTWARE FAILURES
There are factors that contribute to software failures:
Human factors (page 208/209)
 Memory lapses and attentional failures: For example, someone was supposed to have removed or added
a line of code, tested, or verified but did not because of simple forgetfulness.
 Rush to finish: The result of pressure, most often from management, to get the product on the market
either to cut development costs or to meet a client deadline can cause problems.
 Overconfidence and use of nonstandard or untested algorithms: Before algorithms are fully tested by
peers, they are put into the product line because they seem to have worked on a few test runs.

ETHICAL AND SOCIAL...J.M.KIZZA 6


CAUSES OF SOFTWARE FAILURES- CONT’D

Human factors (Cont’d)


 Malice: Software developers, like any other professionals, have malicious people in their ranks. Bugs,
viruses, and worms have been known to be embedded and downloaded in software as is the case with
Trojan horse software, which boots itself at a timed location.
 Complacency: When either an individual or a software producer has significant experience in software
development, it is easy to overlook certain testing and other error control measures in those parts of
software that were tested previously in a similar or related product, forgetting that no one software pr

ETHICAL AND SOCIAL...J.M.KIZZA 7


CAUSES OF SOFTWARE FAILURES- CONT’D
Nature of software (page 209)
 Complexity: Unlike hardwired programming in which it easy to exhaust the possible outcomes on a
given set of input sequences, in software programming a similar program may present billions of
possible outcomes on the same input sequence.
 Difficult testing: There will never be a complete set of test programs to check software exhaustively for
all bugs for a given input sequence.
 Ease of programming: The fact that software programming is easy to learn encourages many people
with little formal training and education in the field to start developing programs, but many are not
knowledgeable about good programming practices or able to check for errors.
 Misunderstanding of basic design specifications: This affects the subsequent design phases including
coding, documenting, and testing

ETHICAL AND SOCIAL...J.M.KIZZA 8


RISK
Risk is a hazard level together with the likelihood of an accident to occur and the
severity of the potential consequences
A hazard is a state or set of conditions of a system or an object that, together with
other conditions in the environment of the system, or object, will lead inevitably to an
accident

ETHICAL AND SOCIAL...J.M.KIZZA 9


RISK – CONT’D
Software risks are caused by:
 Personnel shortfalls
 Unrealistic schedules and budgets
 Developing the wrong functions and properties
 Developing the wrong user interface
 Continuing stream of requirements changes
 Shortfalls in externally furnished components
 Shortfalls in externally performed tasks
 Real-time performance shortfalls
 Straining computer-science capabilities

ETHICAL AND SOCIAL...J.M.KIZZA 10


EXAMPLES OF SOFTWARE RISKS
Examples of safety-critical failures (pages 214 - 223) :
 The Indian Union Carbide - Bhopal
 The Therac-25.
 The Space Shuttle Challenger
 The Chernobyl Nuclear Power Plant Accident

ETHICAL AND SOCIAL...J.M.KIZZA 11


CONSUMER PROTECTION AND THE LAW
Buyer’s rights:
 Replacement
 Refunds
 Updates

Understanding software complexity- software as:


 Product
 Service
 Mix

ETHICAL AND SOCIAL...J.M.KIZZA 12


CONSUMER PROTECTION AND THE LAW – CONT’D
Costumer protection tools:
1. Contract (used with products):
 Express warranties
 Implied warranties
 Third-party beneficiary
 Breach of contract – lack of compliance

2. Tort (used with services):


 Intentional
 Unintentional

ETHICAL AND SOCIAL...J.M.KIZZA 13


CONSUMER PROTECTION AND THE LAW – CONT’D
Torts include:
 Negligence – careless, lack of competence, etc..
 Malpractice
 Strict liability
 Misrepresentation

ETHICAL AND SOCIAL...J.M.KIZZA 14


IMPROVING SOFTWARE QUALITY
The safety and reliability of a software product defines the quality of that software
Software quality can only be improved during the development cycle
The following techniques done during the software development phase can improve
software quality (see page 122) :
 Final review
 Inspection
 Walk-throughs
 Phased-inspection

ETHICAL AND SOCIAL...J.M.KIZZA 15


PRODUCER PROTECTION AND THE LAW
Protection against:
 Piracy
 Illegal copying/downloading of copyrighted software
 Fraudulent lawsuits by customers

Seek protection from the courts

ETHICAL AND SOCIAL...J.M.KIZZA 16


Scenario 1

• A software company sells a photo-editing app to


a customer, promising that it will allow users to
edit images in high resolution without any
glitches. However, the app repeatedly crashes
and fails to deliver on this promise. The customer
files a complaint citing a breach of contract due
to the lack of compliance with the app's
advertised features.
EXERCISE
Question

• What type of warranty is being violated in this


scenario, and how does it relate to the customer's
rights under consumer protection laws?

17
Scenario 2

• A software company provides a cloud-based


project management tool to businesses. One of its
clients, while using the software, encounters a bug
that causes data loss. The client sues the company
for damages, claiming the bug was due to
intentional negligence, as the company had
previously ignored user feedback about the issue. EXERCISE
Question

• What type of protection is used when the


software company is sued for damages due to the
bug causing data loss?

18
Scenario 3

• A small business owner subscribes to a cloud-


based invoicing software service. One day, due
to a software glitch, the service accidentally
deletes all of the owner’s stored invoices,
causing significant financial loss. The business
owner files a claim against the service provider
for damages caused by the incident. EXERCISE
Question

• What type of protection is used in this scenario


for the business owner seeking compensation for
the lost data?

19

You might also like