


| Elections Audit Uncovers Erroneous Results |
| Officers - Elections | |||||||||||||||||||||||||||||||||
| Written by Princeton USG | |||||||||||||||||||||||||||||||||
| Friday, 22 May 2009 20:40 | |||||||||||||||||||||||||||||||||
|
In light of the frequent difficulties with previous elections, the USG has conducted an audit of all previous elections back through 2002. During this audit, an error was discovered in the class of 2012 senate election that took place this winter. The error caused votes cast for candidates Andreas Sakellaris and Michael Yaroshefsky to be disregarded when generating the final tally. OIT, who is responsible for the elections system currently used by the USG, confirmed that the algorithm that tallies votes had indeed malfunctioned. The original results processed by the system indicated that Julie Chang and Rebecca Lee were the top vote getters. After OIT corrected the malfunction, the system showed that Michael Yaroshefsky and Julie Chang had actually been the top two vote getters in that election. Following this discovery, all involved parties were privately notified of the error. Michael Yaroshefsky could have accepted position as class of 2012 senator to which he was elected. However, he declined to accept this position, instead choosing to continue serving as IT Chair for the USG. One of the two positions of class of 2012 senator is now vacant and will be filled according to the constitutionally-prescribed appointment process. Technical Description of the Error and Vote Counts Registrar Certification Prior to 2002, the Office of the Registrar conducted elections using scantron paper ballots. After deciding to switch to electronic ballots, the registrar asked OIT to design an election system. When the algorithm was first developed, the registrar thoroughly tested that it correctly tallied votes. Once satisfied that the algorithm was effective, the registrar certified the algorithm. Therefore, any time the registrar processes this algorithm, this constitutes the registrar's certification of the results. After the December 2008 USG election closed, the registrar logged into the administrative panel of the elections system and processed the tallying algorithm as usual. This is the process of registrar verification. The algorithm counts the votes using the raw election data and prints out the totals for each candidate. In the case where the winner is selected by the single transferrable vote method, the algorithm also processes this technique to determine a winner. Then, the USG elections manager at the time, Braeden Kepner-Kraus, logged into the system to view these processed results in the log. The elections manager then announced the winners according to the results in the log. An Unexpected Character In the class of 2012 senate election, Quintilio Rose's name appeared on the ballot, based on his request, as Quintilio "Q" Rose. When the algorithm was reading in the names of candidates, it stopped reading in candidates when it encountered the first quotation mark in Quintilio's name. In fact, the system did not read in the rest of Quintilio's name after the first quotation mark. The quotation mark was a delimiter in the system, analogous to encountering a period in the middle of a sentence before the sentence was complete. Consequently, the algorithm was not aware of candidates appearing after Rose, since the quotation mark signaled a "stop." Because the list of candidates was alphabetical, these candidates that the system failed to account for were Andreas Sakellaris and Michael Yaroshefsky. Below is a sample of three of the nearly 400 error messages found during the audit: ***>> Ballot # 676 [9,7] is an invalid ballot-value[9]greater than num_positions[] During the processing, any time the algorithm encountered a vote for either candidate number 9, Andreas Sakellaris, or candidate number 10, Michael Yaroshefsky, the system disregarded this vote since it mistakenly believed there were only 8 candidates. To those who are familiar with coding languages such as Java, this is analogous to an "ArrayIndexOutOfBoundsException." Every time this occurred, the system printed an error message to the log. There were 392 of these error messages along with numerous negligible unrelated warnings. Other Warnings It is not unusual for there to be a number of warning messages in the log. However, these warning messages are usually caused by ballots consisting of a first and second choice vote for the same candidate. Because the senate election is processed by the single transferrable vote algorithm, this type of ballot cannot have the second choice vote transferred if the first choice candidate is eliminated, since it is the same choice. Therefore, this will generate a warning message. However, the first choice vote can still be applied, so this vote is not invalidated. Such an error would generate a warning like the following in the log: ***>> Ballot # 669 [3,3] is an invalid ballot-duplicate value[3] It is perhaps because of this reason that the error messages were ignored. However, it is unusual for there to be quite this many error messages. Because the vote counts for this election were not released, the fact that there were not counts for Sakellaris and Yaroshefsky presumably went unnoticed. Reprocessing the Raw Data When the unusual error messages were uncovered during our audit, they were sent to OIT, who confirmed that there was indeed a malfunction. OIT corrected the software to remove the quotation marks that caused the fault and reprocessed the results. The original vote counts, along with the corrected vote counts, are as below:
When the system encountered what it thought were erroneous votes for the position of senator, it only ignored votes for this position, but it did not disregard the rest of the ballot. Therefore, votes for all other positions and referenda were unaffected. Summary of the Audit This was the only instance of such an error found through the entire audit. The audit process consisted of a thorough two-pass manual inspection of all ballot logs through 2002. This is why the 392 error messages were so easily distinguishable as abnormal during the audit. Fortunately, this was the only election found to be based on erroneous data. The audit would have uncovered other errors such as this, or even other abnormal unexpected errors, had they occurred. Work will continue on the new elections system that has been in development since the beginning of the semester. Updates regarding progress of this new system will be posted on this website during the summer. You can track progress on the new elections system here.
|