Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CSC450 Software Engineering Ethics Devon M. Simmonds University of North Carolina, Wilmington 1 Professional Ethics What is Professional Ethics in CS? a field of applied ethics concerned with moral issues that impact computer professionals. Why SE ethics when the same ethical rules involving honesty, fairness, and so forth should apply to all individuals. ? Separate Category of Professional Ethics (continued) Some argue that some moral issues affecting professionals are sufficiently distinct and specialized to warrant a separate field of study. Others argue that professionals can have special moral obligations that exceed those of ordinary individuals. To grasp the arguments for this view, it is useful first to understand what is meant by the terms profession and professional. What is a Profession? Harris, Pritchard, and Rabins (2004) note that the term “profession” has evolved from a concept that was once associated with people professing a religious or monastic life to one that now has a more secular meaning. “Profession” was used to describe a person who made a public promise to enter a “distinct way of life” with allegiance to “high moral ideals.” Later, the term came to refer to anyone who “professed to be duly qualified.” “Profession” has now come to mean an “occupation in which one professes to be skilled in and to follow.” What is a Profession (continued)? According to Allan Firmage (1991), a profession can be understood in terms of the attributes and requirements of a professional practice, such as "calling in which special knowledge and skill are used in...the service of mankind." Ernest Greenwood (1991) believes that professions are occupational fields distinguishable in terms of five characteristics: (i) systematic theory, (ii) authority, (iii) community sanction, (iv) ethical codes, (v) a culture. Who is a Computer Professional? A computer professional might be interpreted to mean anyone who is employed in the computer, information-technology, or information/communications fields. Or a computer professional might be thought of in more narrow terms, in which case only software engineers would be included. There are various gradients in between the two ends of this spectrum. Safety-Critical Software Gotterbarn suggests that the roles and responsibilities involved in the development of safety-critical systems is a differentiating factor. A "safety-critical system" is often used to refer to computer systems that can have a direct life-threatening impact. Safety-Critical Software (Continued) Examples of safety-critical software systems and applications typically include: aircraft and air traffic control systems mass transportation systems nuclear reactors missile systems medical treatment systems. Additional Safety-Critical Systems Kevin Bowyer (2002) extends the range of safety-critical applications to include software used in the: design of bridges and buildings; election of water disposal sites; development of analytical models for medical treatment. Professional Codes of Ethics Many professions have established professional societies, which in turn have adopted codes of conduct. The medical profession established the AMA (American Medical Association), The legal profession established the ABA (American Bar Association). Both associations have formal codes of ethics/conduct for their members. Professional Codes for Computer Societies The computing profession also has professional societies, which include: The Association for Computing (ACM); The Australian Computer Society (ACS); The British Computer Society; The Institute for Electrical and Electronics Engineers (IEEE); IEEE Computer Society (IEEE-CS). Purpose of Professional Codes Professional codes of ethics are often designed to motivate members of an association to behave in certain ways. Four primary functions of codes are to: inspire, guide, educate, discipline the members. In Defense of Professional Codes Gotterbarn argues that we need to distinguish among three aspects of professional codes, as: codes of ethics; codes of conduct; codes of practice. In Defense of Professional Codes (Continued) Codes of ethics as "aspirational," because they often serve as mission statements for the profession and thus can provide vision and objectives. Codes of conduct are oriented more toward the professional and the professional's attitude and behavior. Codes of practice relate to operational activities within a profession. Should Computer Professionals Be Licensed or Certified? Don Gotterbarn (2000) has argued in favor of certification for software engineers? The ACM has not endorsed any proposals for licensing software engineers. ACM points out, a software engineering license could be interpreted as an authoritative statement that the licensed engineer is capable of producing software systems of “consistent reliability, dependability, and usability.” According to the ACM: the current “state of knowledge and practice” in the field of software engineering is “too immature” to give assurances of this type (White and Simons, 2002). Licensing and Certification (Continued) John Knight and Nancy Leveson (2002) sum up the ACM’s position on the licensing of software engineers: Licensing software engineers who work on safety-critical systems would be neither practical nor effective in achieving the goal of public interest, and it could even have serious negative ramifications. The real issue, however, is not licensing per se but determining how best to protect the public without unduly affecting engineering progress, the economy, the engineering and computing professions, or individual rights. Licensing and Certification (Continued) Knight and Leveson believe that approaches other than licensing and certification might be more effective and that those approaches need to be evaluated. The state of Texas requires software engineers to be certified, and other states are currently considering certification or licensing requirements for software engineers. Do Computer Professionals Have Special obligations of Loyalty to Their Employers? They have to balance their obligation of loyalty owed to an employer against other obligations of loyalty they also may have? Loyalty is not something that an employee must give exclusively or blindly to one’s employer. Loyalty should also be seen as an obligation that individuals have to society as a whole, especially where safety and health issues are at stake. Divided Loyalties Divided loyalties can result in serious conflicts for employees. In certain cases, the moral dilemmas they generate are so profound that an employee must determine whether to "blow the whistle." Whistle-blowing What, exactly, is whistle-blowing? John Rowan and Samuel Zinaich (2003) note that the expression “blowing the whistle” comes from the effort by individuals to “get the public’s attention.” Whistle-blowing (Continued) Whistle-blowing occurs when one or more employees go outside the organization (e.g., to the press) to shed some light on misconduct within the organization. In the context of engineering, whistle-blowing incidents often occur in attempts to alert the public to a potentially unsafe product. Whistle-blowing (Continued) Whistle-blowing incidents can occur because of either: (a) overt wrongdoing (where an employee informs the public about the immoral or illegal behavior of an employee or supervisor); (b) negligence (e.g., where one or more individuals in an organization have failed to act). When an Engineer is Permitted to Blow the Whistle One is permitted to blow the whistle when the: 1) harm that will be done by the product to the public is serious and considerable. 2) engineers (or employees) have made their concerns known to their superiors. 3) engineers (or employees) have received no satisfaction from their immediate supervisors and they have exhausted the channels available within the corporation, including going to the board of directors. When an Engineer is Required to Blow the Whistle Two additional conditions are needed for requiring an engineer to blow the whistle: 4) The engineer has documented evidence that would convince a reasonable, impartial observer that his/her view of the situation is correct and the company policy wrong. 5) There is strong evidence that making the information public will in fact prevent the threatened serious harm. The End Qu es ti ons? ______________________ Devon M. Simmonds Computer Science Department University of North Carolina Wilmington _____________________________________________________________ 25