Software Engineering Ethics and Future Responsibilities

Slides:



Advertisements
Similar presentations
5/5/2015Software Engineering Code of Ethics1 Software Engineering Code of Ethics and Professional Practice Dr. Bob Weber CEG 460 / 660 Wright State University.
Advertisements

Computer Literacy and ICT Engineers 橋本 義平 Hashimoto Yoshihei (情報工学)
ICS 417: The ethics of ICT 4.2 The Ethics of Information and Communication Technologies (ICT) in Business by Simon Rogerson IMIS Journal May 1998.
CORPORATE ETHICS & SOCIAL RESPONSIBILITY. What is “Business Ethics”? A collection of principles and rules that define correct and incorrect behavior/conduct.
ICT Ethics 2 ICT 139.
Ethics CS-480b Network Security Dick Steflik. ACM Code of Ethics This Code, consisting of 24 imperatives formulated as statements of personal responsibility,
The AMA Code of Ethics Could Egyptian Marketing Professionals Agree on a List of Rules, Perhaps Similar to This? The IMI Journal. Members of the AMA are.
Chapter 1- Ethics Lecture 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Slides prepared by Cyndi Chie and Sarah Frye (and Liam Keliher) A Gift of Fire Third edition Sara Baase Chapter 9: Professional Ethics and Responsibilities.
Software Engineering Code Of Ethics And Professional Practice
University of Southern California Center for Software Engineering C S E USC © USC-CSSE1 Barry Boehm CS 577a, 510 Fall 2010 Software Engineering Ethics.
1 Software Testing and Quality Assurance Lecture 35 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
University of Southern California Center for Software Engineering C S E USC © USC-CSSE1 Barry Boehm Fall 2011 Software Engineering Ethics 7/14/2015.
1 SPIRIT Silicon Prairie Initiative on Robotics in Information Technology Engineering Ethics.
SE 112 Slide 1 SE 112 l
Professional Codes of Ethics Professionalism and Codes of Ethics.
Palestine Council of Health Code of Professional Conduct.
An Engineer’s Rights & Responsibilities. What is Professionalism?  Highest standards of honesty and integrity  Competence  Exemplary conduct and commitment.
Ethics and professional Conducts for Civil engineers
Professional Ethics in Computing Dr. David Sinclair L253
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
Professional Ethics: Should Software Engineers Adhere to a Professional Code of Conduct? Jonathan Schiff CS 301.
S OFTWARE E NGINEERING C ODE O F E THICS A ND P ROFESSIONAL P RACTICE Software Engineering Ethics and Professional Practices © 1999 by the Institute of.
Ethics Jonathan J. Makela Based on material from P. Scott Carney, T. Galvin, J. P. Makela, and the National Ethics Center.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Chapter © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
CS 4001 Based on slides by Mary Jean Harrold 1 Professional Ethics.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
1 Gordana Dodig-Crnkovic Department of Computer Science and Engineering Mälardalen University 2004 PROFESSIONAL ETHICS IN SCIENCE AND ENGINEERING CD5590.
Chapter 8- Professional Ethics
University of Southern California Center for Systems and Software Engineering Software Engineering Ethics Barry Boehm CS 577a 2009 © USC-CSSE1.
Engineering Ethics. Engineering Ethics ( II ) Wael. A. Moustafa MA.Sc., P.Eng. May 18, 2011 Mechanical Engineering Department Umm Al-Qura University.
HOSPITALITY & TOURISM 5.02A Interpret the nature of business ethics and social responsibility 5.02B Exemplify legal issues affecting businesses.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
IT depends on several codes of ethics 1. PUBLIC - IT engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER - IT engineers shall.
Professional Ethics and Responsibilities Part-II
1 The Nature of Ethics Ethics is generally concerned with rules or guidelines for morals and/or socially approved conduct Ethical standards generally apply.
Dr. Rob Hasker Dr. Brad Dennis. Sony’s Virus  2005: Sony wanted to reduce piracy  They put an XCP program on 20 CDs including Van Zant, The Bad Plus,
Legal and Ethical Responsibilities
Dr.Amira Yahia, Ph.D (N), M.Sc (N), B.Sc (N).  By the end of this session the student will be able to:  Define some terms related to ethic  Explain.
Chap (3)1 Chapter 3 Professional Codes of Ethics Almost every professional organization dealing with the field of computing has published its own code.
Legal and Ethical Responsibilities
CSCI 392: Seminar in Computing and Society

INTRODUCTION TO SOFTWARE ENGINEERING

An Introduction to Software Engineering
5 Ethics, Social Responsibility, and Diversity.
Hospitality & Tourism 5.02A Interpret the nature of business ethics and social responsibility 5.02B Exemplify legal issues affecting businesses.
ETHICAL & SOCIAL IMPACT OF INFORMATION SYSTEMS
PowerPoint® Slides to Accompany
Legal and Ethical Responsibilities
Software Engineering Ethics
Professional Codes of Ethics
Introduction to Software Engineering
Software Engineering Ethics
Legal and Ethical Responsibilities
Software Engineering Ethics
Software Engineering Ethics and Future Responsibilities
ENGINEERING ETHICS.
An Introduction to Software Engineering
Computer Ethics.
Software Engineering Ethics
ACM Code of Ethics CSCI 362: Data Structures.
CS-480b Network Security Dick Steflik
Presentation transcript:

Software Engineering Ethics and Future Responsibilities Barry Boehm CSCI 510, Fall 2018

Outline Definitions and context Principles and examples Power to do public harm or good ACM/IEEE Software Engineering Code of Ethics Principles and examples Rawls’ Theory of Justice Relation to stakeholder win-win CS 577 ethics situations Ethics challenges for your future careers Global threats, nanosecond decisions Coping with AI, Internets of Things, DevOps, Systems of Systems Fall 2018 © USC-CSSE

Definition of “Ethics” -Webster, 1993 The discipline dealing with what is good and bad And with moral duty and obligation A theory, system, or set of moral principles or values The principles of conduct governing an individual or group Professional ethics Fall 2018 © USC-CSSE

Context Software engineers will have vastly increasing power to do public harm or good System safety and security, intellectual property, privacy, quality of work, fairness, liability, risk disclosure, conflict of interest, unauthorized access Professional societies have developed codes of ethics Integrating value-based ethics into value-neutral software engineering practices via ICSM Future software engineers and managers (you) will need to cope with complex global threats, nanosecond decisions, AI, Internets of Things, DevOps, systems of systems Fall 2018 © USC-CSSE

Power to Do Public Harm or Good – I Intellectual Property: use without credit; use copyrighted material Privacy: credit, health, personal information Confidentiality: competitive information, political sensitivity Quality of work: many dimensions; see table Fall 2018 © USC-CSSE

Quality Concerns Vary by Stakeholders Role Developers, Maintainers System Dependents Stakeholder Classes System Controllers **Critical *Significant 0 Insignificant or indirect Info Suppliers Info Brokers Administrators Acquirers Information Consumers   Mission - Protection critical uncrit. Safety **  ** Security * Privacy Robustness Reliability Availability Survivability Quality of Service Performance Accuracy, Consistency Accessibility, ease of use; difficulty of misuse Evolvability Interoperability Correctness Cost Schedule Reusability Fall 2018 © USC-CSSE

Example: Confidentiality Government agency hires company to support SW procurement Provides data under nondisclosure agreement Employee and company consultant prepare cost estimate Employee: “ I don’t see how anyone can do all this for $8M” Consultant provides $8M target cost to some bidders Government agency angry with company for leak Whose fault? How could it be avoided? Fall 2018 © USC-CSSE

Power to Do Public Harm or Good - II Fairness: equality of opportunity/treatment; fair reward system Liability: accountability; parity of authority and responsibility Risk Disclosure: safety tests, COTS capabilities; schedule slips Conflict of Interest: source selection; personnel or product reviews Unauthorized Access: reading, copying, modifying; denial of service Fall 2018 © USC-CSSE

Examples: Fairness Enron software to schedule power outages, raise prices E.g., air conditioning for homes, offices, hospitals during heat waves Suppose you had been asked to develop it? Urban fire dispatching system Inefficient old system caused $700M property loss New-system spec. includes dispatching algorithm to minimize property loss Any fairness issues? Fall 2018 © USC-CSSE

Example: Safety Tests Your company is delivering a drug prescription fulfillment system Reusing software from a warehouse inventory system You are the quality assurance manager With company responsibility for certifying product safety The software has passed all the contracted tests But many off-nominal conditions untested Some have shown unsafe outcomes You feel more off-nominal testing if necessary Company president says if you don’t certify safety by delivery date, company may go out of business What should you do? Fall 2018 © USC-CSSE

ACM/IEE Software Engineering Code of Ethics -Table of Contents Products: achievable goals, realistic estimates, high quality Public: safety, respect of diversity, public interest first Judgment: objectivity, no bribes or conflicts of interest Client and Employer: no employer-adverse interests, surface problems Management: fair, ethical work rules, due process for violations Profession: support profession and ethics code, don’t misrepresent software Colleagues: credit colleagues’ work, give colleagues a fair hearing Self: improve your technical and ethical knowledge and practices Fall 2018 © USC-CSSE

Code of Ethics 2. Public 2.01 Disclose any software-related dangers 2.02 Approve only safe, well tested software 2.03 Only sign documents in area of competence 2.04 Cooperate on matters of public concern 2.05 Produce software that respects diversity 2.06 Be fair and truthful in all matters 2.07 Always put the public’s interest first 2.08 Donate professional skills to good causes 2.10 Accept responsibility for your own work Fall 2018 © USC-CSSE

Code of Ethics 4. Client and Employer 4.01 Provide services only where competent 4.02 Ensure resources are authentically approved 4.03 Only use property as authorized by the owner 4.04 Do not use illegally obtained software 4.05 Honor confidentiality of information 4.06 Raise matters of social concern 4.07 Inform when a project becomes problematic 4.08 Accept no detrimental outside work 4.09 Represent no interests adverse to your employer Fall 2018 © USC-CSSE

Outline Definitions and context Principles and examples Power to do public harm or good ACM/IEEE Software Engineering Code of Ethics Principles and examples Rawls’ Theory of Justice Relation to stakeholder win-win CS 577 ethics situations Ethics challenges for your future careers Global threats, nanosecond decisions Coping with AI, Internets of Things, DevOps, Systems of Systems Fall 2018 © USC-CSSE

Rawls’ Theory of Justice (1971) -Following Collins et al Rawls’ Theory of Justice (1971) -Following Collins et al., “How Good Is Good Enough?” Comm.ACM, Jan. 1994 Fair rules of conduct Principles of justice Participants and obligations Provider (developer) Buyer (acquirer) User(s) Penumbra (general public) Negotiate mutually satisfactory (win-win) agreements Fall 2018 © USC-CSSE

Rawls’ Theory of Justice - II Fair rules of conduct Negotiation among interested parties Veil of ignorance (about what affects whom) Rationality Principles Least Advantaged - don’t increase harm to them Harm = probability x magnitude (~risk exposure) Risking harm - don’t risk increasing harm Don’t use “low-threat” software in “high-threat” context Publicity test - defensible with honor before an informed public Use for difficult cost-benefit tradeoffs Fall 2018 © USC-CSSE

Obligations of the Software Provider Fall 2018 © USC-CSSE

Obligations of the Software Buyer Fall 2018 © USC-CSSE

Obligations of the Software User Fall 2018 © USC-CSSE

Obligations of the Software Penumbra Fall 2018 © USC-CSSE

CS 577 Ethics Accountability -1 Assuming your priorities match those of other stakeholders Users: GUI; quality factor priorities Maintainers: programming language, reuse, documentation Customers/Owners: legacy compatibility, advanced vs. mature technology, full business case Treating stakeholders equally on each issue Users on GUI; owners on legacy compatibility: developers on cost/schedule/risk Promising more than you can deliver Borrowing from other projects without credit Suppressing or delaying bad news Fall 2018 © USC-CSSE

CS 577 Ethics Accountability -2 Delivering just source code vs. including architecture, regression test cases, documentation for users, maintainers Honoring commitments to CS 577b Misinterpreting the Golden Rule Do unto others as you would have others do unto you Building programmer-friendly GUIs for doctors, lawyers, administrators Pop-up windows for curiosity-driven vs. closure-driven users Platinum Rule Do unto others as they would be done unto Fall 2018 © USC-CSSE

Outline Definitions and context Principles and examples Power to do public harm or good ACM/IEEE Software Engineering Code of Ethics Principles and examples Rawls’ Theory of Justice Relation to stakeholder win-win CS 577 ethics situations Ethics challenges for your future careers Global threats, nanosecond decisions Coping with AI, Internets of Things, DevOps, Systems of Systems Fall 2018 © USC-CSSE

Ethics challenges for your future careers Reference: Thomas Friedman, Thanks for Being Late Moore’s Law will continue 2x computer-communications speed, data capacity every 2 years, at half the price By 2038, factors of 1024 “Software is Eating the World” Marc Andreessen, Netscape: 2012 Much more complex Internets of Things Challenges of compatible DevOps evolution AI, computers making decisions in nanoseconds Farewell to the Principle of Human Primacy Powerful capabilities falling into the wrong hands Denial of service, perversion of objectives Fall 2018 © USC-CSSE

Robotics: Implementing Asimov’s Laws 1. Do not injure a human or allow a human to come to harm. 2. Obey orders given by humans, except when orders conflict with Law 1. 3. Protect its own existence, except when this conflicts with Laws 1 and 2. Hard to achieve, even in simple, stable situations Fall 2018 © USC-CSSE

Perversion of Objectives: Example Zika mosquitoes carry deadly virus One bite usually fatal Genetic and software engineers propose gene-splicing approach to disable Zika mosquitoes to reproduce Suppose this approach falls into the hands of organizations wishing to eliminate races of humans Suppose this approach is mishandled and applied to all humans Hopefully there is time to create a countermeasure Fall 2018 © USC-CSSE

Conclusions Software engineers will have vastly increasing power to do public harm or good Rawls’ Theory of Justice enables constructive approach for integrating ethics into daily software engineering practice ICSM Stakeholder win-win with least-advantaged system dependents as success-critical stakeholders Responsibility challenges for your future careers Global threats, nanosecond decisions Coping with AI, Internets of Things, DevOps, Systems of Systems Try to build in reversibility of bad decisions Fall 2018 © USC-CSSE