William M. Fleischman
Since the introduction of electronic voting systems following the passage of the Help America Vote Act (HAVA) in 2002, numerous studies have disclosed serious and unsettling flaws in virtually all of the electronic voting devices marketed and in use in the United States. Since HAVA was intended to prevent problems like those encountered in the contested 2000 Presidential election, these shortcomings have created the unsatisfactory situation in which the purported remedy for problems associated with the conduct of fair elections has in actuality served to intensify public doubts about the electoral process.
The potential flaws identified by these scientific studies of existing electronic voting devices include susceptibility to the installation of malicious software resulting in the intentional theft of votes with the further possibility of modification of records, audit logs, and counters to frustrate subsequent forensic examination of the election process, denial of service attacks that disable the use of these devices either at the start or during the course of an election, as well as accidental “flipping of votes” and other anomalies caused by careless handling or unskilled actions of election workers. In addition, experience in the use of electronic voting devices in recent elections has confirmed their fallibility. Ballots have been inexplicably lost from or added to vote totals, direct recording electronic devices (DREs) have provided incorrect ballots, machines have failed to operate at the start of voting and have broken down during the course of an election, memory cards and smart card encoders have failed during elections.
The existence and widely publicized knowledge of the vulnerability and unreliability of electronic voting machines serves to undermine the public’s confidence in the integrity and accuracy of the electoral process and goes to the heart of the essential bond of trust between citizens and their government. Thus, these are clearly matters that threaten the public good.
Many of the flaws that have been uncovered are directly attributable to poor software engineering practices in the design and development of electronic voting devices. The Software Engineering Code of Ethics, which “expresses the consensus of the profession on ethical issues,” places concern for the public interest as its highest priority, the first of the eight principles that express the ethical aspirations of the profession. How are we then to square the uniformly questionable quality of electronic voting devices designed to carry out the intent of HAVA with the fidelity to their code of ethics of the several independent teams of software engineers for different companies who participated in the design and development of these devices?
It may well be, as some suspect, that it is an intractable problem in software engineering to produce electronic voting devices that solve simultaneously the critical functions of protecting the secrecy of each voter’s ballot, protecting the security of the voting process, providing an interface that is sufficiently easy to use for all voters – including those with disabilities related to vision, hearing and mobility – and assuring the integrity and accuracy of the final ballot count. Although these questions are implicitly raised by research efforts investigating vulnerabilities and deficiencies of current electronic voting devices – and although these investigations have spurred a vigorous discussion in the profession concerning electronic voting – there remains the responsibility that rests with any practitioner involved in the development of these devices to take care to implement best practices (for example, in regard to encryption) and to acknowledge the possibility that even the most carefully designed device may fail to meet the exacting standards necessary for the conduct of elections in a democracy.
In their recent paper, “The Public Is the Priority: Making Decisions Using the Software Engineering Code of Ethics,” Professors Donald Gotterbarn and Keith Miller “present three cases – one fictional and two based on news reports – that illustrate how a software professional can use the Code as a decision-making aid when ethical conflicts arise.” In their examination of the difficult conflicts arising in the three cases they consider, the authors provide much valuable guidance for practicing software engineers whose consciousness is supported by a robust conception of the public good.
The contention of the present work is that the distressing phenomenon of uniformly poor standards of software engineering practice evident in the design and development of existing electronic voting devices is a symptom of something more fundamental and more dangerous than inattention to the Code of Ethics itself. It is that the very conception of what constitutes the public good, what it means to act in the public interest, has been degraded and attenuated to the point that, in this case at least, it is difficult to imagine that the principle of acting in the public good can even have penetrated the consciousness of the members of the various software engineering teams. In this connection it is pertinent to recall Terry Winograd’s admonition that “we can take obliviousness as a key sign of” behavior that is ethically deficient.
In this paper, we will explore some of the factors that have resulted in the degradation of the concept of acting in the public good. We will present the results of informal as well as more structured surveys of how inattention to the importance of education in citizenship undermines concern for the public good. This inattention to education in the meaning of being a good citizen extends from the earliest years of a young person’s formation through his or her experiences in secondary school and university. It combines powerfully with what young professionals learn from stories of the unexemplary behavior of public officials, members of government, and leaders of industry and finance to nourish a cynicism that argues concern for the public good out of existence. Finally, we discuss some possibilities for raising the level of awareness of civic responsibility, especially in the education of those aspiring to careers in software engineering.