Pvote: the documents

Doctoral dissertation

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.

Release date Title
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.

Release date Title
2007-11-14 Report on the Pvote security review
This version is archived as UC Berkeley EECS Technical Report 2007-136.

Assurance document

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.

Release date Version
2007-03-29 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.

Ka-Ping Yee. Extending prerendered-interface voting software to support accessibility and other ballot features (in PDF or HTML). In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop held at Usenix Security 2007.

Here are the reviewers' comments on the submitted paper. The slides from my talk at EVT 2007 are also available.

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).

Ka-Ping Yee, David Wagner, Marti Hearst, Steven Bellovin. Prerendered User Interfaces for Higher-Assurance Electronic Voting (in PDF or HTML). In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop held at Usenix Security 2006.

Here are the reviewers' comments on the submitted paper. The slides from my talk at EVT 2006 are also available.