Pvote, and the thinking and research behind it, are the topic of my dissertation. David Wagner and Marti Hearst were my advisors and my thanks are also due to many others for their participation and help with this work.
|2007-12-19||Building Reliable Voting Machine Software This dissertation is archived as UC Berkeley EECS Technical Report 2007-167.|
Report on the review
This report documents the findings and observations from the Pvote review that took place in March 2007.
|2007-11-14||Report on the Pvote security review This version is archived as UC Berkeley EECS Technical Report 2007-136.|
This assurance document was produced to support the review of Pvote in March 2007. It describes the design of Pvote 1.0 beta in detail and lays out its assumptions, correctness claims, and supporting arguments. This document includes a specification of Pvote's ballot definition format, a specification of Pthin (the subset of Python in which Pvote is implemented), and the complete source code to Pvote 1.0 beta with annotations justifying its correctness. This is the most up-to-date and thorough description of Pvote's design and implementation.
Pvote Assurance Document (final, for review)|
This version is archived as UC Berkeley EECS Technical Report 2007-40.
|2007-03-29||Pvote Assurance Document (March 29 draft)|
|2007-03-28||Pvote Assurance Document (March 28 draft)|
|2007-03-27||Pvote Assurance Document (March 27 draft)|
|2007-03-22||Pvote Assurance Document (March 22 draft)|
EVT 2007 paper
This paper presents the design and implementation of Pvote 1.0, which supports synchronized video and audio, as well as input from a touchscreen or an accessible input device.
EVT 2006 paper
The initial idea behind Pvote is to prerender the electronic ballot design and publish it before election day. This allows the ballot to be checked for correctness, usability, and accessibility, and also allows the voting machine software to be made simpler and to be verified with more confidence.
This paper explains and motivates this basic idea, and describes the design and implementation of an early version of Pvote for a touchscreen voting machine (without audio or button input).