Ethics and Software Reliability

Slides:



Advertisements
Similar presentations
Business Ethics What you really need to know!. What is Ethics?  A practice of deciding what is right or wrong.  Ethical decisions must affect you or.
Advertisements

A Gift of Fire, 2edChapter 4: Can We Trust the Computer?1 PowerPoint ® Slides to Accompany A Gift of Fire : Social, Legal, and Ethical Issues for Computers.
Lecture: Ethics for High School Presented By: Craig Titus Teaching Engineering Ethics in the High School Classroom Presented by: 1 Craig Titus Head Teaching.
Social Implications of a Computerized Society Computer Errors Instructor: Oliver Schulte Simon Fraser University.
Ethics for the Information Age
Chapter 3 Tort Law.
Social Responsibility and Ethics in Strategic Management
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Computer Reliability Ethics for the Information Age Third Edition.
A Gift of Fire Third edition Sara Baase
Toward A Reasonable Programmer Standard Responsibility and Negligence in Software Design.
Basic Principles: Ethics and Business
AS Philosophy & Ethics Mrs Sudds What are your expectations?
Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)
Chapter 4 The Ethics of Manufacturing and Marketing
Copyright © Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7: Computer Reliability Ethics for the Information Age Forth Edition by.
1 Can We Trust the Computer? What Can Go Wrong? Case Study: The Therac-25 Increasing Reliability and Safety Perspectives on Failures, Dependence, Risk,
Liability for Computer Errors Not covered in textbook.
Slides prepared by Cyndi Chie and Sarah Frye1 A Gift of Fire Third edition Sara Baase Chapter 8: Errors, Failures, and Risks.
 CS 5380 Software Engineering Chapter 8 Testing.
Humanities 375, September 8, Why are we reading this book? u 1. To raise your sensitivity to circumstances involving information technology that.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Ethics in a Computing Culture
Ethics of Software Testing Thomas LaToza CS 210 Final Presentation 12 / 2 / 2002.
Trust, Safety & Reliability INTRODUCTION TO COMPUTER ERRORS TEXTBOOK: BRINKMAN’S ETHICS IN A COMPUTING CULTURE READING: CHAPTER 5, PAGES ,
CS 484 – Artificial Intelligence1 Announcements Research Paper due today, November 20 Homework 8 due Thursday, November 29 Current Events Mike - now Presentations.
Copyright © 2012 Pearson Education, Inc. All rights reserved. Chapter 4 The Ethics of Manufacturing and Marketing.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Applied Ethics Introduction & Theories Computer Science.
Product Safety, Consumer Protection, & Deceptive Marketing Chapter 4 © 2003 by Paul L. Schumann. All rights reserved.
Chapter 8: Errors, Failures, and Risk Zach Archer Daniel O’Hara Eric Strittmatter.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
Formal Methods. Objectives To introduce formal methods including multiple logic based approaches for software modelling and reasoning 2.
Can We Trust the Computer? FIRE, Chapter 4. What Can Go Wrong? What are the risks and reasons for computer failures? How much risk must or should we accept?
ETHICAL BASES FOR LAWS Chapter 2. Ethics A practice of deciding what is right or wrong in a reasoned, impartial manner  Decision affects you.
Ch. 7 Consumer Law and Contracts 7-1 Sales Contracts.
Lecture 1 Introduction to Ethics. Chapter Overview Introduction Review of some ethical theories Comparing workable ethical theories 1-2.
Fantastic and Terrible Testing in Software Testing.
Basic concepts in Ethics
What are your ethical options?
An action is right or wrong depends on the morals of the society in which it is practiced. The same action may be morally right in one society but be morally.
Software Testing Introduction CS 4501 / 6501 Software Testing
Product Safety, Consumer Protection, & Deceptive Marketing
Lecture 01: A Brief Summary
Basic Principles: Ethics and Business
CRJ 524 Competitive Success/snaptutorial.com
BUS 311Competitive Success/tutorialrank.com
CRJ 524 Education for Service-- snaptutorial.com.
BUS 311 Education for Service-- tutorialrank.com.
CRJ 524 Teaching Effectively-- snaptutorial.com
Ethics and Social Responsibility in Marketing
Business Law Ethics in Our Law.
Testing and Test-Driven Development CSC 4700 Software Engineering
Stanley E. Jenne, Ph.D., CPA, CFE
Chapter 5 The Ethics of Manufacturing and Marketing
A Gift of Fire Third edition Sara Baase
PowerPoint® Slides to Accompany
Chapter 7: Computer Reliability
Why Study Ethics and computing?
Week 13: Errors, Failures, and Risks
Lesson 6-1 Civil Law (Tort Law).
Reliability and Safety
Decision Criteria Used In Assessing Alternatives
Chapter 5 The Ethics of Manufacturing and Marketing
Module 2 Selling Ethically.
What Are Ethics? What are the objectives?
A Gift of Fire Third edition Sara Baase
Basic Principles: Ethics and Business
Professional Ethics (GEN301/PHI200) UNIT 2: NORMATIVE THEORIES OF PROFESSIONAL ETHICS Handout # 2 CLO # 2 Explain the rationale behind adoption of normative.
Chapter 15 Legal & Ethical Issues
Presentation transcript:

Ethics and Software Reliability http://flic.kr/p/doFGYA Ethics and Software Reliability

How we catch bugs: V & V activities Verification answers: Did we build the system right? Errors in design (wrt the requirements spec)? Errors in implementation (wrt the requirements spec)? Validation answers: Did we build the right system? Errors in the requirements spec?

How might we verify/validate a program? Prove correct (w/ formal math)? Nope. Too difficult, even for some small programs Prove a model correct? Nope. Too difficult to get small enough model that captures all relevant behavior Run the program to see if it works? Yup. Testing, that’s what we do

The Testing Problem: How to choose small set of test cases that reveal all errors? Fundamental research problem Essentially unsolvable in general case

Does all “real” software contain bugs? Yup. No software is 100% reliable Let’s consider some examples of reliability failures

Financial software failures Knight Capital loses $440 mil.: http://www.npr.org/2012/08/18/159082822/in-wall-street-2-0-computers-are-king L.A. teachers’ pay: http://www.npr.org/templates/story/story.php?storyId=14869684 Phone bill for $57,346.20 (Minnesota, 2001) Beef producers lose $15-$20 million due to bad price reports

Data entry/retrieval failures Bad background checks: http://www.nbc.com/news-sports/msnbc-video/2012/11/rossen-reports-background-check-mistakes-cost-jobs/ Thousands of voters forbidden to vote because computer miscategorized them as felons (Florida, 2000) Numerous false arrests due to errors in crime database (NCIC)

Software system failures Mars Surveyor failure (2007): http://www.npr.org/templates/story/story.php?storyId=6817176 Therac-25 (1985-1987): multiple radiation overdoses/deaths Patriot missile system: 28 soldiers killed by SCUD; Patriot never even fires (1991) Ariane 5 rocket: reuse error causes self-destruct, costing $500 mil.

Software unreliability leads to moral and ethical questions Morality: Rules of conduct What people ought and ought not do in various situations Different societies may have different morals Ethics: Rational examination of people’s moral beliefs and behaviors Reason from facts to commonly accepted values Ethical theories: frameworks for reasoning Examples: Subjective Relativism, Cultural Relativism, Divine Command Theory, Ethical Egoism, Kantaniasm, Utilitarianism…

Morality and Ethics Society is like a town full of people driving cars. Morality is the road network. People ought to keep their cars on the roads. Those who “do ethics” are in balloons. They can evaluate: individual roads (moral guidelines) quality of road network (moral system) They can judge if drivers are staying on the roads (acting morally) or taking shortcuts (acting immorally) They can propose new road networks (alternative moral systems). From Quinn (2013), p53

Ethical Question Amazon error (UK, 2003): iPaq price listed as 7 EUR instead of 275 EUR Amazon refuses to honor sales—were they wrong? Utilitarian view: Seller must always honor advertised price Kantian view: Consumers recognized error and did not act in “good faith”

Ethical Question Should Therac-25 developers be held morally responsible for deaths? Moral responsibility requires: Causal condition: actions caused harm Mental condition: actions intended Unintended harm counts if due to carelessness, recklessness, or negligence Quinn concludes “yes” because machine lacked devices to catch/prevent overdose and failed to thoroughly verify overdose wasn’t possible

If perfect software is impossible, what sort of warranties should companies provide? Shrinkwrap warranties: 90-day replacement (haha)/money back if softw. fails Few guarantees (you’ll be able to install it) Maker has no liability (for harm to your business) “Don’t blame us if it’s full of bugs” Are warranties enforceable? Unfair warranties could violate laws Court rulings have gone both ways Should manufacturers be held liable for defects? Should consumers have to pay for bug fixes?

Hypothetical Question Medick Inc. developing fancy new mobile software for nurses and other hospital workers Medick told customers it would be ready next week Software still contains lots of bugs Competitor will release new product in a few weeks If competitor gets to market first, Medick will likely go under What course of action should Medick take? Perspectives: software engineers, sales force, managers, venture capitalists, and nurses

Summary All “software” contains bugs http://flic.kr/p/YSY3X Summary All “software” contains bugs Knowing that perfection is impossible, how to set consumer expectations and assign blame when things go wrong? Leads to moral and ethical questions

Question Anyone been a beta tester? What did it teach you about computer reliability?