Functional Verification and Information Flow Analysis of an Electronic Voting System
Electronic voting (e-voting) systems that are used in public elections need to fulfill a broad range of strong requirements concerning both safety and security. Among those requirements are reliability, robustness, privacy of votes, coercion resistance, and universal verifiability. Bugs in or manipulations of an e-voting system can have considerable influence on society. Therefore, e-voting systems are an obvious target for software verification. This case study proves the preservation of privacy of votes for a basic electronic voting system. Altogether the considered code comprises eight classes and thirteen methods in about 150 lines of code of a rich fragment of Java.
Unable to display preview. Download preview PDF.