Certification of Voting Software: Position Statement
Computers are important in every aspect of modern life. Automative tabulating machines are designed to be the most consistent and reliable counting approach invented. Still, questions of reliability, security and auditability persist. Ken Thompson and others have shown that, like other carelessly composed processes, computer programs can harbor potentially criminal activity. To be useful for voting, software must simplify and improve the ability to record and report intentions.
Best practices must be used in creating important software to guard against bugs and malware. In spite of the fact that malware can be hidden in any program, there are ways to assure that it is not impacting the operation of the software. First, test vectors must allow testing of the software in every conceivable situation. Second, demonstrations can be arranged to show that it is running correctly when it is actually used. Third, computers can produce multiple records to assure that it has performed correctly.