Slashdot Mirror


Software Bug Adds 5K Votes To Election

eldavojohn writes "You may be able to argue that a five-thousand-vote error is a small price to pay for a national election, but these errors are certainly inadmissible on a much smaller scale. According to the Rapid City Journal, a software glitch added 4,875 phantom ballots in a South Dakota election for a seat on the city council. It's not a hardware security problem this time; it's a software glitch. Although not unheard of in electronic voting, this bug was about to cause a runoff vote since the incumbent did not hold a high enough percentage of the vote. That is no longer the case after the numbers were corrected. Wired notes it's probably a complex bug as it is not just multiplying the vote count by two. Here's to hoping that AutoMark follows suit and releases the source code for others to scrutinize."

12 of 239 comments (clear)

  1. How hard can it be? by Nursie · · Score: 4, Insightful

    I mean really, I'm pretty sure I could write a program with a couple of buttons and a counter for each.

    What's going on here?

    1. Re:How hard can it be? by noundi · · Score: 3, Insightful

      What's going on here?

      That, my friend, we will never find out. We would if these highly complex applications were OSS, but then again the complexity of these are so immense that 9/10 experienced programmers had their heads spontaneously explode upon viewing the first line of code. That or someone is bullshitting you.

      --
      I am the lawn!
  2. How..... by Darkness404 · · Score: 3, Insightful

    It still amazes me how "hard" it is to write a simple program. First have something to scan the ID, check that its unique then move to the voting. Have a few radio buttons that you click, then hit submit, each radio button corresponds to a candidate or a choice, they are added up and give you the results. How the crap do you screw that up?

    --
    Taxation is legalized theft, no more, no less.
    1. Re:How..... by Darkness404 · · Score: 3, Insightful

      How does a local election provider define the ballot?

      Depends, have a list of candidates, choose the candidate, submit it. For a yes or no issue have two buttons, one yes the other no.

      How do you ensure that the ballot programming is accessible to politicos and not computer programmers?

      Either have a GUI or hire a programmer, I'm sure that the cost of one programmer and one or two other people is a lot less than hiring a team to hand-count votes.

      How do you QA the ballot program? How do you verify that nobody has tampered with the ballot program after it has been QAed?

      Sign it. Have the program check the signature, good signature it lets it go, bad signature it rejects it and throws up an error message.

      For QA, how do you do it without using official ballots that don't end up in the valid votes pile?

      Reimage the machine after use.

      What happens if the scanner (for optical scanners) gets miscalibrated, or the ballot printer was miscalibrated when it printed them, so that alignments aren't off? What if the initial votes and ballots are correct but later ones are not because of changes in calibration or alignment? Think about multiple ballot runs off a printer in a high-volume election.

      Simple, don't use scanners. Simply have it be all digital with a paper printout that may be used if the electronic voting failed due to errors, etc. The paper printouts could be hand-counted if there was a major failure.

      What about different election types? "Most-of", "at-large", "one-of", "instant-runoff", etc.? What about the interactions between these election types and other election types on a single ballot? What about multiple ballots in small regional areas? Who programs them and verifies the programs?

      Programmers and the town. Have an open meeting where anyone can discuss them, fix them, etc. You only need to hire one competent programmer to program a ballot. Multiple ballots are simply more XML files, trivial to make.

      --
      Taxation is legalized theft, no more, no less.
  3. Blckboxvoting.org by Red+Flayer · · Score: 5, Insightful

    "You may be able to argue that a five thousand vote error is a small price to pay for a national election but these errors are certainly inadmissible on a much smaller scale.

    A software error resulting in +/- 5000 votes cast is unacceptable on any level, even if it gets drowned out on the national level in the US.

    There is absolutely no reason or excuse for software to miscount votes. It isn't rocket science.

    I know I'm preaching to the choir here, but this shit just pisses me off. It's a matter of national and local integrity that our voting systems are transparent. Please support blackboxvoting.org if you don't have the time to get involved in a deeper fashion (calling/writing your legislators, etc).

    Note: I'm not affiliated with blackboxvoting.org. I just appreciate their work.

    --
    "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
  4. Re:How hard is it for a computer to do addition? by rvw · · Score: 5, Insightful

    Why is a voting system doing any kind of math at all? I voted yesterday in Belgium on a computer that puts my vote onto a card, which is then tallied separately. This same system has been working since at least 1995 with zero reports of fraud or failure (except normal "computer is broken" style failures).

    How can a computer "add phantom ballots"? Software does not just "glitch", it breaks in ways that depend entirely on how it was built.

    How do you know this system is fraud free? Reading your comment doesn't convince me one bit. I voted too, in the Netherlands, and for the first time in years I had to use a pencil again. No guarantee that there are no counting errors, but they won't be systematic on a large scale.

  5. Re:How hard is it for a computer to do addition? by Darkness404 · · Score: 3, Insightful

    While I'm as puzzled as you are on why its doing simple addition wrong, I can understand why you would want a computer to do the math though, as it should be more error-proof than humans.

    --
    Taxation is legalized theft, no more, no less.
  6. Re:!bug by skelterjohn · · Score: 4, Insightful

    yeah, cause the difference in saying something like "x+y/2" or "(x+y)/2" is obvious fraud, as it is a bug that wouldn't crash the system.

  7. Re:!bug by link-error · · Score: 5, Insightful

    It's probably more like they aren't rolling back some transaction on a network error or something. Network timeouts, etc, are probably doubling up the votes from that machine. It's probably an unusual error so it doesn't get caught in testing. Like busy networks on election night? It's not that hard to imagine.

    --
    -Unresolved symbol? Byte me!
  8. Re:How hard is it for a computer to do addition? by nine-times · · Score: 3, Insightful

    Right. Ask a computer to count 1 million records and stop exactly on the millionth, and then ask a person to count 1 million cards and stop on the millionth. If you had to bet your life on it, who would you think would be more precise? Obviously computers have value.

    On the other hand, I'm a firm believer in the idea that the source code should be available for review to make sure there are no weird bugs that could multiply votes, and there should be a paper trail so that the computer can be checked for voter fraud. Computers are more efficient, but not only are they more efficient at doing the right thing, and they're more efficient at doing the wrong thing. If the code tells them to count votes incorrectly (whether it's fraud or an inadvertent bug) they will very efficiently count the votes incorrectly.

  9. Re:How hard is it for a computer to do addition? by BitZtream · · Score: 3, Insightful

    Sure, go ahead and add a field to the table and you've got a record of who voted for who, which is awesome!

    The problem for slashdotters is that there is more to a voting system than JUST counting the votes properly.

    You have to count the votes properly, provide proper auditing to validate that everyones vote got counted for who they voted for, all the while making sure that you don't actually know who specifically voted for who, even though you may need to prove that their vote was counted for a specific candidate later.

    If all they had to do was count votes, they would have gotten it right cause even the $0.50/hour programmers from India can get that part right.

    It does blow my mind however that we still get errors in electronic voting due to bugs, these companies are utterly failing and should be banned from making software such as these as soon as a bug like this is detected. It is not acceptable to have not tested your software properly before hand to detect this crap.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  10. Re:How hard is it for a computer to do addition? by Fulcrum+of+Evil · · Score: 3, Insightful

    why would you have multiple threads running on a tally?

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"