Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming...

12
Therac-25 Case Therac-25 Case Family vs. Programmer Family vs. Programmer

Transcript of Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming...

Page 1: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Therac-25 CaseTherac-25 Case

Family vs. ProgrammerFamily vs. Programmer

Page 2: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

People Suffered From Different People Suffered From Different Type of Bad ProgrammingType of Bad Programming

Database accuracy problems.Database accuracy problems.Many people could not vote in 2000 US Many people could not vote in 2000 US

Presidential Election because their Presidential Election because their names matched names of convicted names matched names of convicted

felons. felons.

Page 3: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Individuals problemsIndividuals problems

. A woman was billed $ 6.3 million for electricity.. A woman was billed $ 6.3 million for electricity.

. In Illinois a couple received taxes penalties of $ . In Illinois a couple received taxes penalties of $ 68 billion.68 billion.

. Auto insurance tripled the insurance of 101 . Auto insurance tripled the insurance of 101 years old man because system classified him as years old man because system classified him as

a teenage.a teenage.

Page 4: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Programming Errors That Programming Errors That Can Kill UsCan Kill Us

4 Air buses crashed due to 4 Air buses crashed due to computer errors 1988 – 1993 computer errors 1988 – 1993

because pilots complained that because pilots complained that the airplane did not respond as the airplane did not respond as

expected. expected.

Page 5: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Errors in Medical Machines Errors in Medical Machines

Therac-25 was made to treat people with Therac-25 was made to treat people with cancer. The machine was controlled by a cancer. The machine was controlled by a

software. In 1985 to 1987 4 medical centers software. In 1985 to 1987 4 medical centers gave overdoses of radiation to six patients. The gave overdoses of radiation to six patients. The patients supposed to receive 100- 200 rads but patients supposed to receive 100- 200 rads but

they received 13,000 to 25,000 rads. they received 13,000 to 25,000 rads.

Page 6: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Software Engineering Code of Software Engineering Code of Ethics and Professional Ethics and Professional

PracticePractice PREAMBLEPREAMBLE

Software engineers shall commit Software engineers shall commit themselves to making the analysis, themselves to making the analysis, specification, design, development, testing specification, design, development, testing and maintenance of software a beneficial and maintenance of software a beneficial and respected profession. In accordance and respected profession. In accordance with their commitment to the health, with their commitment to the health, safety and welfare of the public, software safety and welfare of the public, software engineers shall adhere to the following engineers shall adhere to the following Eight Principles.Eight Principles.

Page 7: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

1. PUBLIC-Software engineers shall act 1. PUBLIC-Software engineers shall act consistently with the public interest.consistently with the public interest.

2. CLIENT AND EMPLOYER- Software engineers 2. CLIENT AND EMPLOYER- Software engineers shall act in a manner that is in the best shall act in a manner that is in the best interests of their client and employer, interests of their client and employer, consistent with the public interest.consistent with the public interest.

3. PRODUCT-Software engineers shall ensure 3. PRODUCT-Software engineers shall ensure that their products and related modifications that their products and related modifications meet the highest professional standards meet the highest professional standards possible.possible.

4. JUDGMENT-Software engineers shall 4. JUDGMENT-Software engineers shall maintain integrity and independence in their maintain integrity and independence in their professional judgment.professional judgment.

Page 8: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

5. MANAGEMENT-Software engineering 5. MANAGEMENT-Software engineering managers and leaders shall subscribe to managers and leaders shall subscribe to and promote an ethical approach to the and promote an ethical approach to the management of software development and management of software development and maintenance.maintenance.

6.PROFESSION-Software engineers shall 6.PROFESSION-Software engineers shall advance the integrity and reputation of the advance the integrity and reputation of the profession consistent with the public profession consistent with the public interest.interest.

7. COLLEAGUES-Software engineers shall be 7. COLLEAGUES-Software engineers shall be fair to and supportive of their colleagues.fair to and supportive of their colleagues.

Page 9: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

8. SELF- Software engineers shall 8. SELF- Software engineers shall participate in lifelong learning participate in lifelong learning regarding the practice of their regarding the practice of their profession and shall promote an profession and shall promote an ethical approach to the practice of the ethical approach to the practice of the profession.profession.

PrinciplePrinciple

1.01. Accept full responsibility for their 1.01. Accept full responsibility for their own work.own work.

Page 10: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Approve software only if they have a Approve software only if they have a well-founded belief that it is safe, well-founded belief that it is safe, meets specifications, passes meets specifications, passes appropriate tests, and does not appropriate tests, and does not diminish quality of life, diminish diminish quality of life, diminish privacy or harm the environment. privacy or harm the environment. The ultimate effect of the work The ultimate effect of the work should be to public good.should be to public good.

Page 11: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

Ensure adequate testing, debugging, Ensure adequate testing, debugging, and review of software and related and review of software and related documents on which they workdocuments on which they work

Ensure adequate documentation, Ensure adequate documentation, including significant problems including significant problems discovered and solutions adopted, for discovered and solutions adopted, for any project on which they workany project on which they work

Page 12: Therac-25 Case Family vs. Programmer. People Suffered From Different Type of Bad Programming Database accuracy problems. Many people could not vote in.

SummationSummation

The software written by the The software written by the programmer had bugs which ultimately programmer had bugs which ultimately caused the death of three peoplecaused the death of three people

The software was not sufficiently The software was not sufficiently tested by the programmer tested by the programmer

Failure to adhere to the Code of Ethics Failure to adhere to the Code of Ethics resulted in poor quality of code and resulted in poor quality of code and attributed to the overall failure of the attributed to the overall failure of the systemsystem