• Increase font size
  • Default font size
  • Decrease font size
RSS - Click to Subscribe
Subscribe to USG
Subscribe to our RSS feed to get updates effortlessly.
Elections Audit Uncovers Erroneous Results PDF 
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[]
***>> Ballot # 678 [10,5] is an invalid ballot-value[10]greater than num_positions[]
***>> Ballot # 679 [10,9] is an invalid ballot-value[10]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]
***>> Allow duplicate votes enabled so count this ballot

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:

Original Corrected
Michael E. Yaroshefsky N/A 195
Julie Chang 58 95
Rebecca M. Lee 50 70
Robert S. Blatt 43 65
Elanor D. Meegoda 34 53
Quintilio "Q" Rose 32 52
Andreas K. Sakellaris N/A 49
Jay Parikh 28 43
Waqas R. Jafri 22 33
Leila A. Howard 20 24
Notice that all candidates vote counts increased because both first and second choice votes were disregarded if either one included a vote for Yaroshefsky or Sakellaris.  The system indicated that 679 ballots were cast in the election, but that 392 ballots were invalidated during the first processing of the election results because of the malfunction.

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.

 

 
Respond to this article

Search Senators

Search Committees

Search Groups

Search Classes

Who's Online

We have 204 guests online

Air Your Grievance

Subscribe to News