Problems found in an audit of Diebold tabulation records from an Ohio November 2006 election raise questions about whether the database got corrupted during the tabulation of election results, says a report released today (pdf).

The document, from a team of researchers tasked with auditing the November election in troubled Cuyahoga County, have called for a thorough examination of the database to determine if corruption did occur and the extent to which it may have affected the election results.

(A note on the report: the version I'm publishing here is a draft version that says "not for distribution." Two people distributed the report to me separately with the only instructions being I should not publish it until 11 am eastern time. The draft version contains numerous appendices that don't appear in the final version. For info on the corrupt database, see p. 66 of the report.)

Among the report findings:

Vote totals in two separate databases that should have been identical had different totals. Although Diebold explained that this was part of the system design for separate vote tables to get updated at different times during the tabulation process, the team questioned the wisdom of a design that creates non-identical vote totals.

Tables in the database contained elements that were missing date and time stamps that would indicate when information was entered.

Entries that did have date/time stamps showed a January 1, 1970 date.

The database is built from Microsoft's Jet database engine. The engine, according to Microsoft, is vulnerable to corruption when a lot of concurrent activity is happening with the database, such as what occurs on an election night when results are uploaded and various servers are interacting with the database simultaneously. This is why Microsoft advises against using the Jet engine in a complex environment:

Because multiple client processes are reading and writing to the same database and because Jet does not use a transaction log (as do the more advanced database systems, such as SQL Server), it is not possible to reliably prevent any and all database corruption. If you need a database system to run 24 hours a day, seven days a week in a multi-user environment, Microsoft recommends that you use a true client/server database system that supports durable transactions, such as Microsoft SQL Server.

The report mentions that election staff had trouble with the server crashing and freezing on election night.

The audit team, composed of representatives from the two major parties as well as three election advocacy groups, found other problems with the Diebold system as well:

The current generation optical scan hardware (and firmware) design . . . does not include features that are essential to determining whether all optical scan ballots have been counted and included in the tabulated results.

The report notes that with punch card machines election officials used to be able to determine definitively if all ballots had been counted in the results. With the adoption of this new generation of voting equipment, however, the report says "we have reduced rather than increased the accuracy and reliability of our elections results."

The audit found that the Diebold system also doesn't produce report results at the machine level, only at the precinct level, which makes it difficult to trace faulty results back to a specific machine.

According to the report, Election Director Michael Vu initially denied the audit team access to the raw vote data to examine because he said Diebold had asserted trade secrets protection over the data. By vote data, they're referring to the vote totals and election reports, not the machine source code. It's unclear why he believed the company had a right to assert such claims over such essential public records data.

The audit found more problems with the way the election was administered – some optical scan ballots were scanned twice while others weren't scanned at all. This kind of problem isn't new to Cuyahoga. Two audit reports on last year's May primary in the county revealed severe data tracking problems by the election staff. And two Cuyahoga election workers were convicted in January of tampering with a recount in the 2004 presidential election by cherry-picking precincts for recount that they knew would match the election results. They were concerned they'd have to work overtime if the recount didn't match the results.

All of these issues led to the resignation of Election Director Michael Vu and the four members of Cuyahoga's board of elections. Vu's problems in Ohio haven't affected his job prospects, however. He was recently hired as assistant registrar of voters in San Diego.